I've tried installing the latest ubuntu jaunty 9.04 on the samsung x360 laptop
brightness key presses are ignored, dmesg output includes multiple lines
atkbd.c: Unknown key pressed (translated set 2, code 0x83 on isa0060/serio0).
atkbd.c: Use 'setkeycodes e003 <keycode>' to make it known.
I've tried adding HAL description for X360 to file /usr/share/hal/fdi/information/10freedesktop/30-keymap-misc.fdi:
<match key="/org/freedesktop/Hal/devices/computer:system.hardware.vendor" prefix_ncase="samsung">
<match key="/org/freedesktop/Hal/devices/computer:system.hardware.product" contains_outof="NC10;SP55S;SQ45S70S;SX60P;SX30S;R59P/R60P/R61P;Q210;Q310;X05;X360">
After that all the fn-keys are recognized by the kernel, but the problem is that fn-keys do not send release button events. The similar bug is
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/347623
I've applied similar patch to the kernel's atkbd.c
...
static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = {
...
{
.ident = "Samsung X360",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR,"SAMSUNG ELECTRONICS CO., LDT."),
DMI_MATCH(DMI_PRODUCT_NAME,"X360"),
},
.callback = atkbd_setup forced_release,
.driver_data = atkbd_samsung_forced_release_keys,
},
...
With the new kernel after
xrandr --output LVDS --set BACKLIGHT_CONTROL legacy
brightness keys seems to work correctly.
It would be nice if you could incorporate corresponding changes into the main streamline of ubuntu
Thank you
This is very similar bug to two bugs already fixed (or hacked):
Bug #347623: "Samsung q45 does not produce key-release events for Fn-Keys (patch included)"
Bug #295251: "Samsung NC10 brightness keys block keyboard and produce all-or-nothing effect "
It seems that for every new laptop, SAMSUNG produce malfunctioning keyboards, which for some of Fn + XX keys does not sent key-released events.
Bugs mentioned above, and this one, introduce two patches, one patch for atkbd.c about adding artificial key-release events. And other patch for HAL to add these laptops models to definition of Samsung keyboard, so users have not to use setkeycodes for every Fn + XX combination.
If I learn my laptop to recognize for eg. brightness keys with:
setkeycodes e008 225 # brightness up
setkeycodes e009 224 # brightness down
placed in /etc/rc.local, or HAL patch,
than xev shows key-pressed event but no key-release, it produce infinite sample of auto repeated key events - which locks computer.
Would it be possible to introduce same patches as for "Samsung q45 and Samsung NC10 also for Samsung X360 ?
I have found exactly same problem in lanchpad for Samsung R518, R60, NC20, Q35, Q210.
Eg. Bug #360247, Bug #411031, Bug #253874, Bug #385683, etc.
Maybe it will be good to introduce a patch for all Samsung laptops, as all seems to have malfunctioning keyboards? Or to prepare a common, unified bug, where people could place their laptop models to be added to a common patch, without need of filling separate bug reports?