I recently started working on packaging pieces of the new DeviceKit world, which is gradually replacing hal. In particular, DeviceKit-disks and DeviceKit-power are in Karmic now, and gnome-disk-utility and a patches gvfs are in the ubuntu-desktop PPA.
A few days ago I wondered what the replacement of hal-setup-keymap would be. This is the bit that makes your laptop’s magic Fn keys work, such as “brightness up”, “next song”, “WWW browser”. I became quite acquainted with this component in the last six months and committed a fair share of fixes to hal-info for those. A quick discussion revealed that nobody was working on this, so I picked that up and created a tool to convert hal keymap .fdi files to udev rules and keymap files, and an udev-extra git branch with those maps, the udev rules, and a small callout which pokes the maps into the corresponding evdev device whenever an input device gets added.
I tested it on my Dell Latitude D430, and it works just fine. Dell laptops are all alike in terms of Fn keys, but I need testing on other laptops. I’m particularly interested in the Sony and ThinkPad models, which don’t send “magic” keys as high keycodes on
a standard i8042 atkbd, but as low keycodes on a separate input device (30-keymap-module-* in hal-info). Testing on Acer and Fujitsu models is also highly welcome.
For testing, add my PPA and do
$ sudo apt-get install udev-extras
# disable the current hal-info keymaps:
$ sudo rm /usr/share/hal/fdi/*/*/30-keymap-*
Packages are available for Jauny and Karmic.
Then reboot, and check if your magic Fn keys still work. Please send success and failure reports by private mail or as comments here. I’ll fix the issues and send a conclusion back here in a few days. If things don’t work for you, please do
$ sudo true
$ sudo udevadm monitor --udev -e > /tmp/udev.log 2>&1
$ sudo udevadm trigger --subsystem-match=input
$ fg
# press Control-C
$ grep . /sys/class/dmi/id/* 2>/dev/null
Please send the output of the last command, and /tmp/udev.log.
If you need to revert, purge udev-extras again and do sudo apt-get install --reinstall hal-info.
Many thanks in advance!
Update (2009-05-09): I got my kernel.org account now, and testing showed a lot of positive and no negative results. Thank you for all your feedback! I pushed the changes to udev master now.
2009-11-01 update:Updated git link from udev-extras (which got removed recently) to udev (where it was merged into a while ago).
#1 by atrejut on 2009/05/08 - 18:02
Zitieren
Seems to work fine for me on a Samsung X60S on Jaunty. Will also test on a NC10 if I get around to it.
atreju
#2 by Arkadi on 2009/05/08 - 18:50
Zitieren
Hi.
I tried it on my Dell Latitude D600 on Ubuntu Jaunty , i don’t see any changes, fn key functions us before.
I tried to test it because the Alt + FN + SYSREQ + R+E+I+S+U+B desn’t works for me and i thought it would help me…
Do you know one it might not work ?
#3 by martinpitt on 2009/05/08 - 20:08
Zitieren
Sorry, SysRQ is “special” and handled directly by the kernel. I don’t think that it’s a keymap problem, rather that some X.org application grabs the keybinding. Does Alt+SysRQ+b work in a text console?
It works on the D430 for me, except of course when the kernel has crashed badly.
#4 by Ryan on 2009/05/08 - 21:05
Zitieren
I installed it, and it actually made my monitor brightness keys work better. I have a Dell M1330, and the monitor backlight has eight levels, which means that it takes exactly seven brightness steps to get from max to min brightness. However, with the old way, it took either more or less, because whatever system was controlling the brightness saw it as a continuous spectrum from 0 to 100, and it did not divide it equally into seven steps. After installing your package, it now works as expected, with every button press changing by exactly one brightness step.
Other than that, I see no difference.
Thank you!
#5 by Max on 2009/05/08 - 22:00
Zitieren
Fn keys work well on the Acer Aspire One, tested the usual; brightness, volume, home, end, scrlk, numlk, mute, etc., all fine.
#6 by xens on 2009/05/09 - 00:27
Zitieren
Works fine here on my Dell latitude D630
tested all FN keys, worked as expected
#7 by Erik on 2009/05/09 - 00:57
Zitieren
Any possibility there will be an Intrepidpackage?
#8 by ghindo on 2009/05/09 - 02:35
Zitieren
Tried it on my Dell Inspiron 1420. Most, but not all buttons work.
#9 by Bart on 2009/05/09 - 06:38
Zitieren
Seems to work for me on my Thinkpad R52.
#10 by Nick HS on 2009/05/09 - 11:06
Zitieren
Tested on a Thinkpad T60, works great
#11 by martinpitt on 2009/05/09 - 11:33
Zitieren
> Any possibility there will be an Intrepidpackage?
I tested it with a colleague on intrepid, and intrepid’s kernel and/or udev behave slightly differently. Since we will never ever backport this to intrepid, I don’t see much value in it.
After all, hal and hal-info work just fine in intrepid.
#12 by martinpitt on 2009/05/09 - 11:35
Zitieren
> Tried it on my Dell Inspiron 1420. Most, but not all buttons work.
Is that a regression compared to hal/hal-info? Can you send me the information from https://wiki.ubuntu.com/Hotkeys/Troubleshooting, and attach it to a hal-info bug in Launchpad? Thank you!
#13 by Arkadi on 2009/05/09 - 11:35
Zitieren
Does Alt + FN + SYSREQ + R+E+I+S+U+B works for you?
#14 by Erik on 2009/05/09 - 13:14
Zitieren
Ok, the reason I asked is that I don’t want to install Jaunty on my laptop because of the poor intelperformance. Perhaps this is possible to do from a Jaunty live-cd however, I will give it a try!
#15 by Linda on 2009/05/09 - 13:37
Zitieren
I’m not sure you have any use for this but I tested it on my Asus EEE PC 900 and it worked fine. The only thing that did not work was Fn+wireless but that has never worked
#16 by Igor Gomes on 2009/05/09 - 16:18
Zitieren
Hi Martin,
Reporting:
ASUS M51
The same functional buttons are working perfectly. Ie, the set of working buttons are the same with the two alternatives.
Still some buttons not working like mail, browser, touchpad, camera and all multimedia buttons.
Best,
Igor Gomes
#17 by Tristan Young on 2009/05/10 - 03:33
Zitieren
Hello!
It seem to have improved my Acer Aspire 3624. Before, I would try to change screen brightness, and the screen would dim as I press Fn Br+ and vise versa. It seemed like there were two systems trying to control the screen brightness, as it would flash as I changed brightness, as if one moment it was dimming, and the next something was increasing brightness.
The new results: Screen brightness increases and decreases properly, but I don’t get the notification showing the change. The Fn Vol+/- produces visual notification.
At least now I’m not fighting with my screen brightness
– Begin –
grep . /sys/class/dmi/id/* 2>/dev/null
/sys/class/dmi/id/bios_date:02/24/2006
/sys/class/dmi/id/bios_vendor:Phoenix Technologies LTD
/sys/class/dmi/id/bios_version:V1.04
/sys/class/dmi/id/board_name:Garda-910
/sys/class/dmi/id/board_vendor:Acer
/sys/class/dmi/id/board_version:Rev
/sys/class/dmi/id/chassis_asset_tag:None
/sys/class/dmi/id/chassis_type:10
/sys/class/dmi/id/chassis_vendor:Acer
/sys/class/dmi/id/chassis_version:N/A
/sys/class/dmi/id/modalias:dmi:bvnPhoenixTechnologiesLTD:bvrV1.04:bd02/24/2006:svnAcer:pnAspire3620:pvr0100:rvnAcer:rnGarda-910:rvrRev:cvnAcer:ct10:cvrN/A:
/sys/class/dmi/id/product_name:Aspire 3620
/sys/class/dmi/id/product_version:0100
/sys/class/dmi/id/sys_vendor:Acer
/sys/class/dmi/id/uevent:MODALIAS=dmi:bvnPhoenixTechnologiesLTD:bvrV1.04:bd02/24/2006:svnAcer:pnAspire3620:pvr0100:rvnAcer:rnGarda-910:rvrRev:cvnAcer:ct10:cvrN/A:
– End –
– Begin –
monitor will print the received events for:
UDEV – the event which udev sends out after rule processing
UDEV [1241918973.384468] add /devices/LNXSYSTM:00/LNXPWRBN:00/input/input0 (input)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/LNXSYSTM:00/LNXPWRBN:00/input/input0
SUBSYSTEM=input
PRODUCT=19/0/2/0
NAME=”Power Button (FF)”
PHYS=”LNXPWRBN/button/input0″
EV==3
KEY==100000 0 0 0
MODALIAS=input:b0019v0000p0002e0000-e0,1,k74,ramlsfw
SEQNUM=1525
UDEV [1241918973.398927] add /devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/input/input5 (input)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/input/input5
SUBSYSTEM=input
PRODUCT=19/0/6/0
NAME=”Video Bus”
PHYS=”/video/input0″
EV==3
KEY==3f000b 0 0 0 0 0 0 0
MODALIAS=input:b0019v0000p0006e0000-e0,1,kE0,E1,E3,F0,F1,F2,F3,F4,F5,ramlsfw
SEQNUM=1527
UDEV [1241918973.405190] add /devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input1 (input)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input1
SUBSYSTEM=input
PRODUCT=19/0/5/0
NAME=”Lid Switch”
PHYS=”PNP0C0D/button/input0″
EV==21
SW==1
MODALIAS=input:b0019v0000p0005e0000-e0,5,kramlsfw0,
SEQNUM=1529
UDEV [1241918973.407817] add /devices/LNXSYSTM:00/LNXPWRBN:00/input/input0/event0 (input)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/LNXSYSTM:00/LNXPWRBN:00/input/input0/event0
SUBSYSTEM=input
SEQNUM=1526
DEVNAME=/dev/input/event0
MAJOR=13
MINOR=64
DEVLINKS=/dev/char/13:64
UDEV [1241918973.420390] add /devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/input/input5/event5 (input)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:02/input/input5/event5
SUBSYSTEM=input
SEQNUM=1528
DEVNAME=/dev/input/event5
MAJOR=13
MINOR=69
DEVLINKS=/dev/char/13:69
UDEV [1241918973.421959] add /devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input1/event1 (input)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input1/event1
SUBSYSTEM=input
SEQNUM=1530
DEVNAME=/dev/input/event1
MAJOR=13
MINOR=65
DEVLINKS=/dev/char/13:65
UDEV [1241918973.452957] add /devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input2 (input)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input2
SUBSYSTEM=input
PRODUCT=19/0/3/0
NAME=”Sleep Button (CM)”
PHYS=”PNP0C0E/button/input0″
EV==3
KEY==4000 0 0 0 0
MODALIAS=input:b0019v0000p0003e0000-e0,1,k8E,ramlsfw
SEQNUM=1531
UDEV [1241918973.457182] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.0/bluetooth/hci0/hci0:42/input8 (input)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.0/bluetooth/hci0/hci0:42/input8
SUBSYSTEM=input
PRODUCT=5/a5c/1/129
NAME=”Bluetooth Mouse”
PHYS=”00:1B:DC:00:3D:F5″
UNIQ=”00:12:A1:60:44:71″
EV==1f
KEY==70000 0 0 0 0 0 0 0 0
REL==103
ABS==100 0
MSC==10
MODALIAS=input:b0005v0A5Cp0001e0129-e0,1,2,3,4,k110,111,112,r0,1,8,a28,m4,lsfw
SEQNUM=1533
UDEV [1241918973.478059] add /devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input2/event2 (input)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input2/event2
SUBSYSTEM=input
SEQNUM=1532
DEVNAME=/dev/input/event2
MAJOR=13
MINOR=66
DEVLINKS=/dev/char/13:66
UDEV [1241918973.546938] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.0/bluetooth/hci0/hci0:42/input8/event8 (input)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.0/bluetooth/hci0/hci0:42/input8/event8
SUBSYSTEM=input
SEQNUM=1534
ID_VENDOR=0a12
ID_VENDOR_ENC=0a12
ID_VENDOR_ID=0a12
ID_MODEL=0001
ID_MODEL_ENC=0001
ID_MODEL_ID=0001
ID_REVISION=3164
ID_SERIAL=0a12_0001
ID_TYPE=generic
ID_BUS=usb
ID_USB_INTERFACES=:e00101:
ID_USB_INTERFACE_NUM=00
ID_USB_DRIVER=btusb
ID_PATH=pci-0000:00:1d.0-usb-0:hci0:42
DEVNAME=/dev/input/event8
MAJOR=13
MINOR=72
DEVLINKS=/dev/char/13:72
UDEV [1241918973.550321] add /devices/platform/i8042/serio0/input/input4 (input)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/platform/i8042/serio0/input/input4
SUBSYSTEM=input
PRODUCT=11/1/1/ab41
NAME=”AT Translated Set 2 keyboard”
PHYS=”isa0060/serio0/input0″
EV==120013
KEY==4 2000000 3803078 f800d001 feffffdf ffefffff ffffffff fffffffe
MSC==10
LED==7
MODALIAS=input:b0011v0001p0001eAB41-e0,1,4,11,14,k71,72,73,74,75,76,77,79,7A,7B,7C,7D,7E,7F,80,8C,8E,8F,9B,9C,9D,9E,9F,A3,A4,A5,A6,AC,AD,B7,B8,B9,D9,E2,ram4,l0,1,2,sfw
SEQNUM=1536
UDEV [1241918973.563452] add /devices/platform/i8042/serio4/input/input7 (input)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/platform/i8042/serio4/input/input7
SUBSYSTEM=input
PRODUCT=11/2/7/1b1
NAME=”SynPS/2 Synaptics TouchPad”
PHYS=”isa0060/serio4/input0″
EV==b
KEY==6420 0 7000f 0 0 0 0 0 0 0 0
ABS==11000003
MODALIAS=input:b0011v0002p0007e01B1-e0,1,3,k100,101,102,103,110,111,112,145,14A,14D,14E,ra0,1,18,1C,mlsfw
SEQNUM=1538
UDEV [1241918973.566750] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.0/bluetooth/hci0/hci0:42/input8/mouse2 (input)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.0/bluetooth/hci0/hci0:42/input8/mouse2
SUBSYSTEM=input
SEQNUM=1535
ID_VENDOR=0a12
ID_VENDOR_ENC=0a12
ID_VENDOR_ID=0a12
ID_MODEL=0001
ID_MODEL_ENC=0001
ID_MODEL_ID=0001
ID_REVISION=3164
ID_SERIAL=0a12_0001
ID_TYPE=generic
ID_BUS=usb
ID_USB_INTERFACES=:e00101:
ID_USB_INTERFACE_NUM=00
ID_USB_DRIVER=btusb
ID_PATH=pci-0000:00:1d.0-usb-0:hci0:42
DEVNAME=/dev/input/mouse2
MAJOR=13
MINOR=34
DEVLINKS=/dev/char/13:34
UDEV [1241918973.594659] add /devices/platform/i8042/serio4/input/input7/event7 (input)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/platform/i8042/serio4/input/input7/event7
SUBSYSTEM=input
SEQNUM=1539
ID_CLASS=mouse
ID_SERIAL=noserial
ID_PATH=platform-i8042-serio-4
DEVNAME=/dev/input/event7
MAJOR=13
MINOR=71
DEVLINKS=/dev/char/13:71 /dev/input/by-path/platform-i8042-serio-4-event-mouse
UDEV [1241918973.602126] add /devices/platform/i8042/serio0/input/input4/event4 (input)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/platform/i8042/serio0/input/input4/event4
SUBSYSTEM=input
SEQNUM=1537
ID_CLASS=kbd
ID_SERIAL=noserial
ID_PATH=platform-i8042-serio-0
DEVNAME=/dev/input/event4
MAJOR=13
MINOR=68
DEVLINKS=/dev/char/13:68 /dev/input/by-path/platform-i8042-serio-0-event-kbd
UDEV [1241918973.612617] add /devices/platform/i8042/serio4/input/input7/mouse1 (input)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/platform/i8042/serio4/input/input7/mouse1
SUBSYSTEM=input
SEQNUM=1540
ID_CLASS=mouse
ID_SERIAL=noserial
ID_PATH=platform-i8042-serio-4
DEVNAME=/dev/input/mouse1
MAJOR=13
MINOR=33
DEVLINKS=/dev/char/13:33 /dev/input/by-path/platform-i8042-serio-4-mouse
UDEV [1241918973.624946] add /devices/platform/pcspkr/input/input6 (input)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/platform/pcspkr/input/input6
SUBSYSTEM=input
PRODUCT=10/1f/1/100
NAME=”PC Speaker”
PHYS=”isa0061/input0″
EV==40001
SND==6
MODALIAS=input:b0010v001Fp0001e0100-e0,12,kramls1,2,fw
SEQNUM=1541
UDEV [1241918973.639094] add /devices/virtual/input/input3 (input)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/virtual/input/input3
SUBSYSTEM=input
PRODUCT=17/1/1/100
NAME=”Macintosh mouse button emulation”
EV==7
KEY==70000 0 0 0 0 0 0 0 0
REL==3
MODALIAS=input:b0017v0001p0001e0100-e0,1,2,k110,111,112,r0,1,amlsfw
SEQNUM=1543
UDEV [1241918973.690453] add /devices/virtual/input/input3/event3 (input)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/virtual/input/input3/event3
SUBSYSTEM=input
SEQNUM=1544
DEVNAME=/dev/input/event3
MAJOR=13
MINOR=67
DEVLINKS=/dev/char/13:67
UDEV [1241918973.697263] add /devices/virtual/input/input3/mouse0 (input)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/virtual/input/input3/mouse0
SUBSYSTEM=input
SEQNUM=1545
DEVNAME=/dev/input/mouse0
MAJOR=13
MINOR=32
DEVLINKS=/dev/char/13:32
UDEV [1241918973.702326] add /devices/platform/pcspkr/input/input6/event6 (input)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/platform/pcspkr/input/input6/event6
SUBSYSTEM=input
SEQNUM=1542
ID_CLASS=spkr
ID_SERIAL=noserial
ID_PATH=platform-pcspkr
DEVNAME=/dev/input/event6
MAJOR=13
MINOR=70
DEVLINKS=/dev/char/13:70 /dev/input/by-path/platform-pcspkr-event-spkr
UDEV [1241918973.724954] add /devices/virtual/input/mice (input)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/virtual/input/mice
SUBSYSTEM=input
SEQNUM=1546
DEVNAME=/dev/input/mice
MAJOR=13
MINOR=63
DEVLINKS=/dev/char/13:63
– End –
#18 by Mahesh Asolkar on 2009/05/10 - 06:15
Zitieren
I followed the steps on Sony Vaio VGN-T140P laptop.
http://esupport.sony.com/US/perl/model-documents.pl?mdl=VGNT140PL
The brightness control keys (Fn+F5 and Fn+F6) that used to work, now don’t work anymore. Special media buttons (DVD, Play/Pause, Stop, volume control etc.) have never worked for me so I am not too worried about them – although it will be awesome if they start working with this new mechanism.
Here’s the link to the udev.log
http://ubuntu.pastebin.com/f1d9bdbcc
Hope this data is helpful.
#19 by gourgi on 2009/05/10 - 10:23
Zitieren
Hi, about this test:
I own an Asus EEE 1000h netbook and my Fn buttons aren’t currently working in 2.6.28 or 2.6.29 kernel.
Would it make any difference if i do the test? I mean would it be of any help ?
should i expect that if i do the test these buttons would work in a future kernel release?
if so i’ll do it immediately !
#20 by ghindo on 2009/05/10 - 23:52
Zitieren
I thought it was a regression, but when I switched back to HAL, they still weren’t working. Huh. Guess udev works just as well.
#21 by JanC on 2009/05/11 - 06:21
Zitieren
As I understand it, the test is to make sure everything works as before, but if you test it and it actually works, that would be a pleasant surprise…
#22 by martinpitt on 2009/05/11 - 07:51
Zitieren
I can only test it on my hardware, it’s important to get tested on various different laptop models. The entire point of that piece of software is to set keymaps for different laptop models, and I don’t have them all.
Whoops, didn’t see that this was a reply to gourgi, sorry.
gourgi, can you send me the information from https://wiki.ubuntu.com/Hotkeys/Troubleshooting, and attach it to a hal-info bug in Launchpad?
#23 by martinpitt on 2009/05/11 - 08:33
Zitieren
Mahesh, please give me the output of
sudo /lib/udev/keymap input/event4
grep . /sys/class/dmi/id/* 2>/dev/null
#24 by Mahesh Asolkar on 2009/05/11 - 17:47
Zitieren
Please find it at:
http://ubuntu.pastebin.com/f5e90da0e
#25 by martinpitt on 2009/05/11 - 19:00
Zitieren
Mahesh,
ah, got it: There’s a typo in the udev rules, it refers to the wrong file. Please do
sudo sed -i ‘s/name sony/name module-sony/’ /lib/udev/rules.d/95-keymap.rules
sudo udevadm trigger –subsystem-match=input
after that your keys should work.
#26 by Mahesh Asolkar on 2009/05/11 - 22:20
Zitieren
I am pretty sure I did it right, but the brightness control buttons still don’t work. Here’s my changed 95-keymap.rules file:
http://ubuntu.pastebin.com/f4b883ee9
#27 by Mahesh Asolkar on 2009/05/11 - 23:38
Zitieren
My laptop (Sony Vaio VGN-T140P) is pretty old (2004 model). I am not sure how old models module-sony-old is supposed to handle. I can try to add *VGN-T* to the list of old Vaios in the 95-keymap.rules file. Is that something that I should try?
#28 by martinpitt on 2009/05/12 - 14:30
Zitieren
Indeed it is very likely that adding it to the “old” model list works. I guess it didn’t work with the old hal-info either, then? I copied the “old” model list one-to-one.
#29 by Mahesh Asolkar on 2009/05/12 - 20:12
Zitieren
I added my model to the ‘old’ list, but it still did not work. The keys worked before I installed udev-extras.
#30 by martinpitt on 2009/05/15 - 15:36
Zitieren
@all: Sorry that it took a bit to get back here. I got drawn into some other stuff, but last night I developed some better debugging tools for keymaps, they are in upstream git now, as well as in karmic and my jaunty PPA. Please upgrade to those (20090509+2-git8730abd-1 or 20090509+2-git8730abd-1~jaunty1 respectively) and have a look at /usr/share/doc/udev-extras/README.keymap.txt .
@Mahesh:
Can you please do
udevadm trigger –verbose –dry-run –subsystem-match=input –attr-match=name=’Sony Vaio Keys’
(as normal user) to find out the sysfs path of your Vaio Keys device, and then pastebin the output of
udevadm test the_path_from_above
?
#31 by Mahesh Asolkar on 2009/05/17 - 23:50
Zitieren
Here’s what I got from:
udevadm trigger –verbose –dry-run –-subsystem-match=input –-attr-match=name=’Sony Vaio Keys’
http://ubuntu.pastebin.com/f75e2f82
From all those paths, I am not quite sure which path to use for the ‘udevadm test the_path_from_above’ command. So I picked the three paths that had ‘sony’ in them and ran the ‘udevadm test …’ command. I’ve pasted the output of all those at:
http://ubuntu.pastebin.com/f844c14e
#32 by martinpitt on 2009/05/18 - 14:21
Zitieren
Mahesh, that’s strange. The first command (trigger) should output exactly one device. Can you please make sure that all the dashes are two standard dashes? If I copy&paste them from my blog, it doesn’t work; it seems that wordpress messes up the dashes.
Can you please use the command from here: http://pastebin.ubuntu.com/174894/
#33 by mark s on 2009/05/18 - 14:23
Zitieren
Not sure if it’s useful to you. Tested on Samsung X65 laptop, all buttons that were previously working with hal are still working. There are a number of other “magic” buttons that don’t work with either, battery level, lcdcrt and some Samsung specials for system maintenance.
grep . /sys/class/dmi/id/* 2>/dev/null
/sys/class/dmi/id/bios_date:02/14/2008
/sys/class/dmi/id/bios_vendor:Phoenix Technologies LTD
/sys/class/dmi/id/bios_version:09AF
/sys/class/dmi/id/board_name:SX65S
/sys/class/dmi/id/board_vendor:SAMSUNG ELECTRONICS CO., LTD.
/sys/class/dmi/id/board_version:
/sys/class/dmi/id/chassis_asset_tag:No Asset Tag
/sys/class/dmi/id/chassis_type:10
/sys/class/dmi/id/chassis_vendor:SAMSUNG ELECTRONICS CO., LTD.
/sys/class/dmi/id/chassis_version:N/A
/sys/class/dmi/id/modalias:dmi:bvnPhoenixTechnologiesLTD:bvr09AF:bd02/14/2008:svnSAMSUNGELECTRONICSCO.,LTD.:pnSX65S:pvr09AF:rvnSAMSUNGELECTRONICSCO.,LTD.:rnSX65S:rvr:cvnSAMSUNGELECTRONICSCO.,LTD.:ct10:cvrN/A:
/sys/class/dmi/id/product_name:SX65S
/sys/class/dmi/id/product_version:09AF
/sys/class/dmi/id/sys_vendor:SAMSUNG ELECTRONICS CO., LTD.
/sys/class/dmi/id/uevent:MODALIAS=dmi:bvnPhoenixTechnologiesLTD:bvr09AF:bd02/14/2008:svnSAMSUNGELECTRONICSCO.,LTD.:pnSX65S:pvr09AF:rvnSAMSUNGELECTRONICSCO.,LTD.:rnSX65S:rvr:cvnSAMSUNGELECTRONICSCO.,LTD.:ct10:cvrN/A:
The udev.log is rather large so I’ll not post it here.
#34 by Mahesh Asolkar on 2009/05/18 - 17:06
Zitieren
Looks like I got it right this time:
http://ubuntu.pastebin.com/fa57d067
I had changed all the single-dashes to double, but I think it was the quotes around ‘Sony Vaio Keys’ that fooled the command. WordPress changed them to something other than single-quote characters.
#35 by martinpitt on 2009/05/18 - 18:29
Zitieren
@mark: That’s useful, thanks! It tells me that there is no regression. It wasn’t expected to magically enable the missing keys. For doing that, please follow /usr/share/doc/udev-extras/README.keymap.txt
#36 by martinpitt on 2009/05/18 - 18:47
Zitieren
Mahesh, thanks! That shows the problem:
udevadm_test: run: ‘keymap input5 module-sony’
It’s matching on the wrong device (it should be the event subdevice of the input5 device). Can you confirm that running
sudo /lib/udev/keymap input/event5 module-sony
fixes the keymap for you? (Until next reboot)
I’ll ponder how to solve this.
#37 by martinpitt on 2009/05/18 - 18:57
Zitieren
Mahesh, can you please try this:
sudo gedit /lib/udev/rules.d/95-keymap.rules
and replace this line
ATTR{[dmi/id]sys_vendor}==”Sony*”, ATTR{name}==”Sony Vaio Keys”, RUN+=”keymap $name module-sony
with http://paste.ubuntu.com/175052/
? Thank you!
#38 by Mahesh Asolkar on 2009/05/19 - 01:11
Zitieren
Martin, your suggestion from the following comment seems to have worked:
http://www.piware.de/2009/05/08/devicekit-update-future-handling-of-fn-key-maps/#comment-415
I edited the ATTR line in 95-keymap.rules the way you instructed and the brightness control keys are now functional again. Although I did notice that it does not use the new notifications like it used to.
#39 by martinpitt on 2009/05/19 - 08:27
Zitieren
Thanks, Mahesh, I applied that fix upstream. Will go into Karmic soon.
#40 by mark s on 2009/05/19 - 13:09
Zitieren
Martin,
I followed the info in the readme but Launchpad doesn’t seem to know about the udev-extras package yet so I can’t create a bug with the details. However one piece of info that might be useful to you is that the keys that don’t work don’t produce any output from /lib/udev/keymap. Does this mean it’s a kernel issue? Findkeyboards only reports one keyboard.
Thanks,
Mark.
#41 by Mahesh Asolkar on 2009/05/19 - 20:18
Zitieren
Excellent! Thanks.
#42 by gourgi on 2009/06/05 - 03:47
Zitieren
hi martin
i ‘ve filled the Asus EEE 1000H hal report
https://bugs.launchpad.net/ubuntu/+source/hal-info/+bug/383798
and i added you to the subscribers there
gourgi
#43 by Pavol Klačanský on 2009/06/19 - 20:46
Zitieren
Hallo, on Thinkpad T500 doesn’t function Mute button and touchpad/trackpoint switcher
#44 by martinpitt on 2009/06/21 - 13:15
Zitieren
Pavol,
please follow /usr/share/doc/udev-extras/README.keymap.txt and file a bug against udev-extras.
#45 by Jasmine Hasan on 2009/07/18 - 02:05
Zitieren
Hi Martin,
I submitted bug report for inclusion of “Everex Stepnote XT5000T” laptop to udev-extras (including key map file – and rule – which solved all the undefined/broken Fn Keys and media buttons) and subscribed you to it:
https://bugs.launchpad.net/ubuntu/+source/udev-extras/+bug/400921
Thanks so much for your greatwork
Now if I could just get any clue about this laptop’s front panel Wireless On/Off switch… I dont get anything in `acpi_listen` nor in `xev` nor in `sudo /lib/udev/keymap -i input/eventX` when i flip it (right/left), although it does turn on/off the front panel led for wifi, but has absolutely no effect in linux (built-in atheros 5006eg pci-e wireless card remains on and functional)
There’s also a front-panel master volume dial which also has no effect in linux, but i don’t think alsa is going to fix/support this anytime in the near future either
heh
#46 by m.steele on 2009/07/27 - 08:33
Zitieren
Sony VAIO VGN-CS260J/R
Awesome laptop!
I have this laptop in red. I’m having a blast with it. The specs are awesome, it’s fast and it’s pretty!! lol. The screen is vivid and the keyboard is easy to use.
m.steele
#47 by Maulwurf on 2009/11/02 - 08:39
Zitieren
Here is another sony vaio with non working fn-keys. (VGN-S3HP)
Is it possible to do the test while running from live cd? I followed your instructions from the other vaio, but with no success.
Seems as if my fn keys are on /lib/udev/keymap input/event7
I had posted my stuff yesterday, but your site was somehow broken. Now my comment is gone. :/
#48 by pitti on 2009/11/02 - 17:14
Zitieren
Yes, it is possible to test that using the live CD. Can you please follow the steps in /usr/share/doc/udev/README.keymap.txt and then file a bug against udev? (not udev-extras)
Thanks!
#49 by Maulwurf on 2009/11/03 - 22:51
Zitieren
Did what I could do:
https://bugs.launchpad.net/ubuntu/+bug/473328
#50 by forscher on 2009/11/14 - 18:34
Zitieren
I tried to understand how keyboard, mouse and joystick are detected, registered and so on. Through all changes have lost the overview. Could you tell me a link where the current detection and … (udev, device-kit, not-hal, evdev, dbus …) of these are written?
Thx!