Bug 72807

Summary: XF86TouchpadToggle event missing on Asus EeePC X101CH
Product: systemd Reporter: nucleo <nucleo>
Component: generalAssignee: systemd-bugs
Status: RESOLVED FIXED QA Contact: systemd-bugs
Severity: normal    
Priority: medium CC: martin.pitt
Version: unspecified   
Hardware: Other   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: udevadm info --export-db

Description nucleo 2013-12-17 19:49:14 UTC
Created attachment 90896 [details]
udevadm info --export-db

XF86TouchpadToggle event missing in xev (Fn+F3) after updating to Fedora 20 with systemd-208.
Works fine in Fedora 19 with systemd-204.
Can be related with switching from udev keymaps to hwdb.
Comment 1 Zbigniew Jedrzejewski-Szmek 2014-01-07 01:32:03 UTC
Can you prepare a patch for 60-keyboard.hwdb? This can be done pulling the current hwdb file (http://cgit.freedesktop.org/systemd/systemd/plain/hwdb/60-keyboard.hwdb), installing it in /etc/udev/hwdb.d/, running udevadm hwdb --update.
Then udevadm info /sys/devices/platform/i8042/serio0/input/input4 should print the keymappings.
Comment 2 nucleo 2014-01-07 02:37:42 UTC
Before adding current 60-keyboard.hwdb:

# udevadm info /sys/devices/platform/i8042/serio0/input/input4
P: /devices/platform/i8042/serio0/input/input4
E: DEVPATH=/devices/platform/i8042/serio0/input/input4
E: EV=120013
E: ID_FOR_SEAT=input-platform-i8042-serio-0
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_INPUT_KEYBOARD=1
E: ID_PATH=platform-i8042-serio-0
E: ID_PATH_TAG=platform-i8042-serio-0
E: ID_SERIAL=noserial
E: KEY=4 2000000 3803078 f800d001 feffffdf ffefffff ffffffff fffffffe
E: LED=7
E: 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
E: MSC=10
E: NAME="AT Translated Set 2 keyboard"
E: PHYS="isa0060/serio0/input0"
E: PRODUCT=11/1/1/ab41
E: PROP=0
E: SUBSYSTEM=input
E: TAGS=:seat:
E: USEC_INITIALIZED=17357


After adding current 60-keyboard.hwdb and running 'udevadm hwdb --update':

# udevadm info /sys/devices/platform/i8042/serio0/input/input4
P: /devices/platform/i8042/serio0/input/input4
E: DEVPATH=/devices/platform/i8042/serio0/input/input4
E: EV=120013
E: ID_FOR_SEAT=input-platform-i8042-serio-0
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_INPUT_KEYBOARD=1
E: ID_PATH=platform-i8042-serio-0
E: ID_PATH_TAG=platform-i8042-serio-0
E: ID_SERIAL=noserial
E: KEY=4 2000000 3803078 f800d001 feffffdf ffefffff ffffffff fffffffe
E: LED=7
E: 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
E: MSC=10
E: NAME="AT Translated Set 2 keyboard"
E: PHYS="isa0060/serio0/input0"
E: PRODUCT=11/1/1/ab41
E: PROP=0
E: SUBSYSTEM=input
E: TAGS=:seat:
E: USEC_INITIALIZED=17357

Still no any event shown in xev when Fn+F3 pressed.
Comment 3 Zbigniew Jedrzejewski-Szmek 2014-01-07 18:37:42 UTC
Yes, steps I described are just to get a current copy of 60-keyboard.hwdb without installing systemd from git. But it's not expected to fix the problem, you still need to change ("patch") this file to support your hardware.
Comment 4 nucleo 2014-01-07 18:42:26 UTC
What should I change in 60-keyboard.hwdb?
Comment 5 Martin Pitt 2014-02-25 16:31:06 UTC
Can you please install "evtest", then run it (as root), select your keyboard? Then press the touchpad toggle key (Fn+F3), release it again, press Control-C to exit evtest, and copy&paste the entire output here. This should tell me the scan code and current key code, and I can make the necessary adjustments/fixes to the keymaps.

Thanks!
Comment 6 Lennart Poettering 2014-05-24 09:44:26 UTC
Closing due to lack of response.
Comment 7 nucleo 2014-05-24 22:41:28 UTC
Sorry, I missed email with comment 5.

# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:      Power Button
/dev/input/event1:      Sleep Button
/dev/input/event10:     Eee PC WMI hotkeys
/dev/input/event11:     HDA Intel HDMI/DP,pcm=3
/dev/input/event12:     HDA Intel Headphone
/dev/input/event2:      Lid Switch
/dev/input/event3:      Power Button
/dev/input/event4:      AT Translated Set 2 keyboard
/dev/input/event5:      A4TECH USB Device
/dev/input/event6:      A4TECH USB Device
/dev/input/event7:      SynPS/2 Synaptics TouchPad
/dev/input/event8:      Video Bus
/dev/input/event9:      USB 2.0 UVC VGA WebCam
Select the device event number [0-12]: 4
Input driver version is 1.0.1
Input device ID: bus 0x11 vendor 0x1 product 0x1 version 0xab41
Input device name: "AT Translated Set 2 keyboard"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 1 (KEY_ESC)
    Event code 2 (KEY_1)
    Event code 3 (KEY_2)
    Event code 4 (KEY_3)
    Event code 5 (KEY_4)
    Event code 6 (KEY_5)
    Event code 7 (KEY_6)
    Event code 8 (KEY_7)
    Event code 9 (KEY_8)
    Event code 10 (KEY_9)
    Event code 11 (KEY_0)
    Event code 12 (KEY_MINUS)
    Event code 13 (KEY_EQUAL)
    Event code 14 (KEY_BACKSPACE)
    Event code 15 (KEY_TAB)
    Event code 16 (KEY_Q)
    Event code 17 (KEY_W)
    Event code 18 (KEY_E)
    Event code 19 (KEY_R)
    Event code 20 (KEY_T)
    Event code 21 (KEY_Y)
    Event code 22 (KEY_U)
    Event code 23 (KEY_I)
    Event code 24 (KEY_O)
    Event code 25 (KEY_P)
    Event code 26 (KEY_LEFTBRACE)
    Event code 27 (KEY_RIGHTBRACE)
    Event code 28 (KEY_ENTER)
    Event code 29 (KEY_LEFTCTRL)
    Event code 30 (KEY_A)
    Event code 31 (KEY_S)
    Event code 32 (KEY_D)
    Event code 33 (KEY_F)
    Event code 34 (KEY_G)
    Event code 35 (KEY_H)
    Event code 36 (KEY_J)
    Event code 37 (KEY_K)
    Event code 38 (KEY_L)
    Event code 39 (KEY_SEMICOLON)
    Event code 40 (KEY_APOSTROPHE)
    Event code 41 (KEY_GRAVE)
    Event code 42 (KEY_LEFTSHIFT)
    Event code 43 (KEY_BACKSLASH)
    Event code 44 (KEY_Z)
    Event code 45 (KEY_X)
    Event code 46 (KEY_C)
    Event code 47 (KEY_V)
    Event code 48 (KEY_B)
    Event code 49 (KEY_N)
    Event code 50 (KEY_M)
    Event code 51 (KEY_COMMA)
    Event code 52 (KEY_DOT)
    Event code 53 (KEY_SLASH)
    Event code 54 (KEY_RIGHTSHIFT)
    Event code 55 (KEY_KPASTERISK)
    Event code 56 (KEY_LEFTALT)
    Event code 57 (KEY_SPACE)
    Event code 58 (KEY_CAPSLOCK)
    Event code 59 (KEY_F1)
    Event code 60 (KEY_F2)
    Event code 61 (KEY_F3)
    Event code 62 (KEY_F4)
    Event code 63 (KEY_F5)
    Event code 64 (KEY_F6)
    Event code 65 (KEY_F7)
    Event code 66 (KEY_F8)
    Event code 67 (KEY_F9)
    Event code 68 (KEY_F10)
    Event code 69 (KEY_NUMLOCK)
    Event code 70 (KEY_SCROLLLOCK)
    Event code 71 (KEY_KP7)
    Event code 72 (KEY_KP8)
    Event code 73 (KEY_KP9)
    Event code 74 (KEY_KPMINUS)
    Event code 75 (KEY_KP4)
    Event code 76 (KEY_KP5)
    Event code 77 (KEY_KP6)
    Event code 78 (KEY_KPPLUS)
    Event code 79 (KEY_KP1)
    Event code 80 (KEY_KP2)
    Event code 81 (KEY_KP3)
    Event code 82 (KEY_KP0)
    Event code 83 (KEY_KPDOT)
    Event code 85 (KEY_ZENKAKUHANKAKU)
    Event code 86 (KEY_102ND)
    Event code 87 (KEY_F11)
    Event code 88 (KEY_F12)
    Event code 89 (KEY_RO)
    Event code 90 (KEY_KATAKANA)
    Event code 91 (KEY_HIRAGANA)
    Event code 92 (KEY_HENKAN)
    Event code 93 (KEY_KATAKANAHIRAGANA)
    Event code 94 (KEY_MUHENKAN)
    Event code 95 (KEY_KPJPCOMMA)
    Event code 96 (KEY_KPENTER)
    Event code 97 (KEY_RIGHTCTRL)
    Event code 98 (KEY_KPSLASH)
    Event code 99 (KEY_SYSRQ)
    Event code 100 (KEY_RIGHTALT)
    Event code 102 (KEY_HOME)
    Event code 103 (KEY_UP)
    Event code 104 (KEY_PAGEUP)
    Event code 105 (KEY_LEFT)
    Event code 106 (KEY_RIGHT)
    Event code 107 (KEY_END)
    Event code 108 (KEY_DOWN)
    Event code 109 (KEY_PAGEDOWN)
    Event code 110 (KEY_INSERT)
    Event code 111 (KEY_DELETE)
    Event code 112 (KEY_MACRO)
    Event code 113 (KEY_MUTE)
    Event code 114 (KEY_VOLUMEDOWN)
    Event code 115 (KEY_VOLUMEUP)
    Event code 116 (KEY_POWER)
    Event code 117 (KEY_KPEQUAL)
    Event code 118 (KEY_KPPLUSMINUS)
    Event code 119 (KEY_PAUSE)
    Event code 121 (KEY_KPCOMMA)
    Event code 122 (KEY_HANGUEL)
    Event code 123 (KEY_HANJA)
    Event code 124 (KEY_YEN)
    Event code 125 (KEY_LEFTMETA)
    Event code 126 (KEY_RIGHTMETA)
    Event code 127 (KEY_COMPOSE)
    Event code 128 (KEY_STOP)
    Event code 140 (KEY_CALC)
    Event code 142 (KEY_SLEEP)
    Event code 143 (KEY_WAKEUP)
    Event code 155 (KEY_MAIL)
    Event code 156 (KEY_BOOKMARKS)
    Event code 157 (KEY_COMPUTER)
    Event code 158 (KEY_BACK)
    Event code 159 (KEY_FORWARD)
    Event code 163 (KEY_NEXTSONG)
    Event code 164 (KEY_PLAYPAUSE)
    Event code 165 (KEY_PREVIOUSSONG)
    Event code 166 (KEY_STOPCD)
    Event code 172 (KEY_HOMEPAGE)
    Event code 173 (KEY_REFRESH)
    Event code 183 (KEY_F13)
    Event code 184 (KEY_F14)
    Event code 185 (KEY_F15)
    Event code 217 (KEY_SEARCH)
    Event code 226 (KEY_MEDIA)
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
  Event type 17 (EV_LED)
    Event code 0 (LED_NUML)
    Event code 1 (LED_CAPSL)
    Event code 2 (LED_SCROLLL)
  Event type 20 (EV_REP)
Properties:
Testing ... (interrupt to exit)
^C



# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:      Power Button
/dev/input/event1:      Sleep Button
/dev/input/event10:     Eee PC WMI hotkeys
/dev/input/event11:     HDA Intel HDMI/DP,pcm=3
/dev/input/event12:     HDA Intel Headphone
/dev/input/event2:      Lid Switch
/dev/input/event3:      Power Button
/dev/input/event4:      AT Translated Set 2 keyboard
/dev/input/event5:      A4TECH USB Device
/dev/input/event6:      A4TECH USB Device
/dev/input/event7:      SynPS/2 Synaptics TouchPad
/dev/input/event8:      Video Bus
/dev/input/event9:      USB 2.0 UVC VGA WebCam
Select the device event number [0-12]: 10
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x0 product 0x0 version 0x0
Input device name: "Eee PC WMI hotkeys"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 1 (KEY_ESC)
    Event code 113 (KEY_MUTE)
    Event code 114 (KEY_VOLUMEDOWN)
    Event code 115 (KEY_VOLUMEUP)
    Event code 139 (KEY_MENU)
    Event code 148 (KEY_PROG1)
    Event code 152 (KEY_SCREENLOCK)
    Event code 171 (KEY_CONFIG)
    Event code 172 (KEY_HOMEPAGE)
    Event code 184 (KEY_F14)
    Event code 185 (KEY_F15)
    Event code 212 (KEY_CAMERA)
    Event code 227 (KEY_SWITCHVIDEOMODE)
    Event code 238 (KEY_WLAN)
    Event code 240 (KEY_UNKNOWN)
    Event code 244 (KEY_BRIGHTNESS_ZERO)
    Event code 530 (KEY_TOUCHPAD_TOGGLE)
    Event code 533 (?)
    Event code 534 (?)
    Event code 535 (?)
    Event code 536 (?)
    Event code 537 (?)
    Event code 538 (?)
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
  Event type 20 (EV_REP)
Properties:
Testing ... (interrupt to exit)
Event: time 1400971158.182516, type 4 (EV_MSC), code 4 (MSC_SCAN), value 6b
Event: time 1400971158.182525, type 1 (EV_KEY), code 530 (KEY_TOUCHPAD_TOGGLE), value 1
Event: time 1400971158.182528, -------------- SYN_REPORT ------------
Event: time 1400971158.182558, type 1 (EV_KEY), code 530 (KEY_TOUCHPAD_TOGGLE), value 0
Event: time 1400971158.182563, -------------- SYN_REPORT ------------
^C
Comment 8 Martin Pitt 2014-05-25 10:18:18 UTC
> Event: time 1400971158.182558, type 1 (EV_KEY), code 530 (KEY_TOUCHPAD_TOGGLE), 

Ah, X.org can't handle these large key codes, so we are using F21 for that.

I fixed that with http://cgit.freedesktop.org/systemd/systemd/commit/?id=e55edb2 . Thanks!
Comment 9 nucleo 2014-05-25 16:13:02 UTC
This commit fixed problem. 
Thanks.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.