You are not logged in.

#1 2016-05-19 09:12:06

Triver
Member
Registered: 2009-03-29
Posts: 71

[SOLVED] Thinkpad T460s special Fn keys don't work

Some of the Fn keys on my Lenovo Thinkpad T460s do absolutely nothing (the ones assigned to F4 and F7-F12 to be specific), the others work as intended.

Now I wouldn't expect them to work out of the box (since some of them normally do a specific Windows function) but I would at least expect them to return a scancode when pressed, however nothing happens instead.

Though apparently they don't work natively on Windows either, I had to install software from the Lenovo drivers page (I think it was the settings dependency package) for these buttons to be usable.

Nothing is mentioned on the wiki page for this laptop regarding this issue, perhaps someone with the same model can report if these buttons work on his/her system?

Last edited by Triver (2016-05-20 16:19:08)

Offline

#2 2016-05-19 22:28:45

netadmin
Member
Registered: 2016-04-28
Posts: 45

Re: [SOLVED] Thinkpad T460s special Fn keys don't work

It sounds like running below and hitting a key returns nothing. I have seen this happen on laptops and you can check a few more places.

sudo showkey -s

Can you try hitting the key and checking dmesg?

look for something like this

atkbd serio0: Unknown key released (translated set 2, code 0xbf on isa0060/serio0).
atkbd serio0: Use 'setkeycodes e03f <keycode>' to make it known.

Also run evtest and post results

sudo evtest

Offline

#3 2016-05-20 12:16:10

Triver
Member
Registered: 2009-03-29
Posts: 71

Re: [SOLVED] Thinkpad T460s special Fn keys don't work

Output of "dmesg | grep serio" (after trying the fn keys in "sudo showkey -s"):

[    2.967979] serio: i8042 KBD port at 0x60,0x64 irq 1
[    2.968020] serio: i8042 AUX port at 0x60,0x64 irq 12
[    2.986726] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input4
[    4.568555] psmouse serio1: synaptics: queried max coordinates: x [..5676], y [..4762]
[    4.600532] psmouse serio1: synaptics: queried min coordinates: x [1266..], y [1094..]
[    4.662289] psmouse serio1: synaptics: Touchpad model: 1, fw: 8.2, id: 0x1e2b1, caps: 0xf003a3/0x943300/0x12e800/0x10000, board id: 3145, fw id: 2073050
[    4.662314] psmouse serio1: synaptics: serio: Synaptics pass-through port at isa0060/serio1/input0
[    4.700724] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input8
[    5.356172] psmouse serio2: trackpoint: IBM TrackPoint firmware: 0x0e, buttons: 3/3
[    5.596573] input: TPPS/2 IBM TrackPoint as /devices/platform/i8042/serio1/serio2/input/input18

Output of "sudo evtest" (I'm guessing  "Extra Buttons" is the interesting one):

No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:	Lid Switch
/dev/input/event1:	Sleep Button
/dev/input/event2:	Power Button
/dev/input/event3:	Video Bus
/dev/input/event4:	AT Translated Set 2 keyboard
/dev/input/event5:	ThinkPad Extra Buttons
/dev/input/event6:	PC Speaker
/dev/input/event7:	HDA Digital PCBeep
/dev/input/event8:	HDA Intel PCH Dock Mic
/dev/input/event9:	HDA Intel PCH Mic
/dev/input/event10:	HDA Intel PCH Dock Headphone
/dev/input/event11:	HDA Intel PCH Headphone
/dev/input/event12:	HDA Intel PCH HDMI/DP,pcm=3
/dev/input/event13:	HDA Intel PCH HDMI/DP,pcm=7
/dev/input/event14:	HDA Intel PCH HDMI/DP,pcm=8
/dev/input/event15:	Integrated Camera
/dev/input/event16:	SynPS/2 Synaptics TouchPad
/dev/input/event17:	TPPS/2 IBM TrackPoint
Select the device event number [0-17]: 5
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x17aa product 0x5054 version 0x4101
Input device name: "ThinkPad Extra Buttons"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 113 (KEY_MUTE)
    Event code 114 (KEY_VOLUMEDOWN)
    Event code 115 (KEY_VOLUMEUP)
    Event code 120 (KEY_SCALE)
    Event code 142 (KEY_SLEEP)
    Event code 144 (KEY_FILE)
    Event code 148 (KEY_PROG1)
    Event code 152 (KEY_SCREENLOCK)
    Event code 158 (KEY_BACK)
    Event code 171 (KEY_CONFIG)
    Event code 173 (KEY_REFRESH)
    Event code 190 (KEY_F20)
    Event code 191 (KEY_F21)
    Event code 194 (KEY_F24)
    Event code 205 (KEY_SUSPEND)
    Event code 212 (KEY_CAMERA)
    Event code 217 (KEY_SEARCH)
    Event code 224 (KEY_BRIGHTNESSDOWN)
    Event code 225 (KEY_BRIGHTNESSUP)
    Event code 227 (KEY_SWITCHVIDEOMODE)
    Event code 228 (KEY_KBDILLUMTOGGLE)
    Event code 236 (KEY_BATTERY)
    Event code 238 (KEY_WLAN)
    Event code 240 (KEY_UNKNOWN)
    Event code 372 (KEY_ZOOM)
    Event code 466 (KEY_FN_F1)
    Event code 475 (KEY_FN_F10)
    Event code 476 (KEY_FN_F11)
    Event code 582 (KEY_VOICECOMMAND)
    Event code 592 (KEY_BRIGHTNESS_MIN)
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
  Event type 5 (EV_SW)
    Event code 3 (SW_RFKILL_ALL) state 1
Properties:
Testing ... (interrupt to exit)

So it seems like the buttons are recognized but not enabled? Though nothing showed up when pressing the according keys (not even the ones that are currently working).

Last edited by Triver (2016-05-20 12:18:41)

Offline

#4 2016-05-20 12:22:49

netadmin
Member
Registered: 2016-04-28
Posts: 45

Re: [SOLVED] Thinkpad T460s special Fn keys don't work

Lets try running against the AT keyboard. Run the following and then hit the key and see if you get feedback

sudo evtest /dev/input/event4

Offline

#5 2016-05-20 12:54:14

Triver
Member
Registered: 2009-03-29
Posts: 71

Re: [SOLVED] Thinkpad T460s special Fn keys don't work

Well normal keys show up there when I press them, as for the problematic Fn keys, again nothing (as well as the Brightness keys which is weird because they do work)

Input driver version is 1.0.1
Input device ID: bus 0x11 vendor 0x1 product 0x1 version 0xab54
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) state 0
    Event code 1 (LED_CAPSL) state 0
    Event code 2 (LED_SCROLLL) state 0
Key repeat handling:
  Repeat type 20 (EV_REP)
    Repeat code 0 (REP_DELAY)
      Value    250
    Repeat code 1 (REP_PERIOD)
      Value     33
Properties:
Testing ... (interrupt to exit)
Event: time 1463755724.763055, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1c
Event: time 1463755724.763055, type 1 (EV_KEY), code 28 (KEY_ENTER), value 0
Event: time 1463755724.763055, -------------- SYN_REPORT ------------
Event: time 1463755727.037910, type 4 (EV_MSC), code 4 (MSC_SCAN), value a0
Event: time 1463755727.037910, type 1 (EV_KEY), code 113 (KEY_MUTE), value 1
Event: time 1463755727.037910, -------------- SYN_REPORT ------------
Event: time 1463755727.109375, type 4 (EV_MSC), code 4 (MSC_SCAN), value a0
Event: time 1463755727.109375, type 1 (EV_KEY), code 113 (KEY_MUTE), value 0
Event: time 1463755727.109375, -------------- SYN_REPORT ------------
Event: time 1463755727.799336, type 4 (EV_MSC), code 4 (MSC_SCAN), value ae
Event: time 1463755727.799336, type 1 (EV_KEY), code 114 (KEY_VOLUMEDOWN), value 1
Event: time 1463755727.799336, -------------- SYN_REPORT ------------
Event: time 1463755727.893734, type 4 (EV_MSC), code 4 (MSC_SCAN), value ae
Event: time 1463755727.893734, type 1 (EV_KEY), code 114 (KEY_VOLUMEDOWN), value 0
Event: time 1463755727.893734, -------------- SYN_REPORT ------------
Event: time 1463755728.384925, type 4 (EV_MSC), code 4 (MSC_SCAN), value b0
Event: time 1463755728.384925, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 1
Event: time 1463755728.384925, -------------- SYN_REPORT ------------
Event: time 1463755728.479310, type 4 (EV_MSC), code 4 (MSC_SCAN), value b0
Event: time 1463755728.479310, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 0
Event: time 1463755728.479310, -------------- SYN_REPORT ------------
Event: time 1463755733.672192, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1d
Event: time 1463755733.672192, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1
Event: time 1463755733.672192, -------------- SYN_REPORT ------------
Event: time 1463755733.919788, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1d
Event: time 1463755733.919788, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 2
Event: time 1463755733.919788, -------------- SYN_REPORT ------------
Event: time 1463755733.952633, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1d
Event: time 1463755733.952633, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 2
Event: time 1463755733.952633, -------------- SYN_REPORT ------------
Event: time 1463755733.985285, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1d
Event: time 1463755733.985285, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 2
Event: time 1463755733.985285, -------------- SYN_REPORT ------------
Event: time 1463755734.018052, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1d
Event: time 1463755734.018052, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 2
Event: time 1463755734.018052, -------------- SYN_REPORT ------------
Event: time 1463755734.050787, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1d
Event: time 1463755734.050787, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 2
Event: time 1463755734.050787, -------------- SYN_REPORT ------------
Event: time 1463755734.053735, type 4 (EV_MSC), code 4 (MSC_SCAN), value 2e
Event: time 1463755734.053735, type 1 (EV_KEY), code 46 (KEY_C), value 1
Event: time 1463755734.053735, -------------- SYN_REPORT ------------

Offline

#6 2016-05-20 14:41:17

netadmin
Member
Registered: 2016-04-28
Posts: 45

Re: [SOLVED] Thinkpad T460s special Fn keys don't work

Lets see which modules you have running for acpi

lsmod | grep acpi

Offline

#7 2016-05-20 16:18:35

Triver
Member
Registered: 2009-03-29
Posts: 71

Re: [SOLVED] Thinkpad T460s special Fn keys don't work

thinkpad_acpi          77824  1
nvram                  16384  1 thinkpad_acpi
snd                    65536  11 snd_hda_codec_realtek,snd_soc_core,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel,thinkpad_acpi,snd_compress
led_class              16384  3 iwlmvm,thinkpad_acpi,input_leds
rfkill                 20480  6 cfg80211,thinkpad_acpi,bluetooth
video                  36864  2 i915,thinkpad_acpi

Also an output of "dmesg | grep acpi":

[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x03] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x04] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x05] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x06] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x07] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x08] high edge lint[0x1])
[    0.216039] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[    0.279625] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI]
[    0.279732] acpi PNP0A08:00: _OSC: platform does not support [PCIeCapability]
[    0.279778] acpi PNP0A08:00: _OSC: not requesting control; platform does not support [PCIeCapability]
[    0.279782] acpi PNP0A08:00: _OSC: OS requested [PCIeHotplug PME AER PCIeCapability]
[    0.279784] acpi PNP0A08:00: _OSC: platform willing to grant [PCIeHotplug PME AER]
[    0.279787] acpi PNP0A08:00: _OSC failed (AE_SUPPORT); disabling ASPM
[    0.325468] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
[    3.577747] thinkpad_acpi: ThinkPad ACPI Extras v0.25
[    3.577750] thinkpad_acpi: http://ibm-acpi.sf.net/
[    3.577752] thinkpad_acpi: ThinkPad BIOS N1CET37W (1.05 ), EC unknown
[    3.577753] thinkpad_acpi: Lenovo ThinkPad T460s, model 20FAS0E900
[    3.586629] thinkpad_acpi: detected a 8-level brightness capable ThinkPad
[    3.586650] thinkpad_acpi: unknown version of the HKEY interface: 0x200
[    3.586650] thinkpad_acpi: please report this to ibm-acpi-devel@lists.sourceforge.net
[    3.586655] thinkpad_acpi: radio switch found; radios are enabled
[    3.586667] thinkpad_acpi: This ThinkPad has standard ACPI backlight brightness control, supported by the ACPI video driver
[    3.586668] thinkpad_acpi: Disabling thinkpad-acpi brightness events by default...
[    3.602113] thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked
[    3.604021] thinkpad_acpi: Standard ACPI backlight interface available, not loading native one
[    3.608424] input: ThinkPad Extra Buttons as /devices/platform/thinkpad_acpi/input/input6

I was already aware of the "please report this to..." message but after doing a quick research on it, it seems like this has been known for at least two years now: https://sourceforge.net/p/ibm-acpi/mail … /32055346/
Though that could have been a different issue since more recent posts about this indicate the same issue that I'm having: http://article.gmane.org/gmane.linux.ac … devel/3995

Its not really clear to me what the current status of this issue is, apparently there is a patch for it but its not yet in upstream? Either way, I guess I'll just have to wait for an update and I'll mark this as solved for the time being (might be useful to mention this in the wiki though).

Last edited by Triver (2016-05-20 16:25:22)

Offline

#8 2016-05-20 18:01:12

netadmin
Member
Registered: 2016-04-28
Posts: 45

Re: [SOLVED] Thinkpad T460s special Fn keys don't work

yep I was curious if you had the module thinkpad_acpi as there is an active kernel bug: https://bugzilla.kernel.org/show_bug.cgi?id=114731

Offline

Board footer

Powered by FluxBB