[Linux][tmk] Media keys do not work
Posted: 12 Aug 2016, 09:56
Hi everyone,
I have a Filco Majestouch 2 with a replacement controller from bathroom epiphanies. I am using tmk on it and have spent the last couple of weeks tweaking my layers. Right now I have a problem that I can't seem to solve on my own, so I hope to get some input and ideas from you guys.
So, I have a media layer where I put media keys that I want to use, like VOLD, MUTE, VOLU and so on. I have already confirmed that it works on Windows, and also inside a Linux VM running inside VMware Workstation with Windows being the host OS.
Having plugged the keyboard into my laptop running Arch Linux the media keys do not work anymore. I have already tried to debug this a little, this is what I found out:
* when I run xev and press the keys, no key presses are recognized
* when I run evtest, I can see that key presses ARE recognized:
In the above example, I pressed VOLD, MUTE, VOLU and EJCT, where the unknown key is EJCT. All other media keys are correctly recognized by evtest.
So it looks like something somewhere is intercepting the keypresses so X11 or i3 (my WM) can't correctly evaluate them. I hope somebody here can help me fix this issue.
I have a Filco Majestouch 2 with a replacement controller from bathroom epiphanies. I am using tmk on it and have spent the last couple of weeks tweaking my layers. Right now I have a problem that I can't seem to solve on my own, so I hope to get some input and ideas from you guys.
So, I have a media layer where I put media keys that I want to use, like VOLD, MUTE, VOLU and so on. I have already confirmed that it works on Windows, and also inside a Linux VM running inside VMware Workstation with Windows being the host OS.
Having plugged the keyboard into my laptop running Arch Linux the media keys do not work anymore. I have already tried to debug this a little, this is what I found out:
* when I run xev and press the keys, no key presses are recognized
* when I run evtest, I can see that key presses ARE recognized:
Code: Select all
Testing ... (interrupt to exit)
Event: time 1470988277.300108, type 4 (EV_MSC), code 4 (MSC_SCAN), value c00ea
Event: time 1470988277.300108, type 1 (EV_KEY), code 114 (KEY_VOLUMEDOWN), value 1
Event: time 1470988277.300108, -------------- SYN_REPORT ------------
Event: time 1470988277.388108, type 4 (EV_MSC), code 4 (MSC_SCAN), value c00ea
Event: time 1470988277.388108, type 1 (EV_KEY), code 114 (KEY_VOLUMEDOWN), value 0
Event: time 1470988277.388108, -------------- SYN_REPORT ------------
Event: time 1470988277.548108, type 4 (EV_MSC), code 4 (MSC_SCAN), value c00e2
Event: time 1470988277.548108, type 1 (EV_KEY), code 113 (KEY_MUTE), value 1
Event: time 1470988277.548108, -------------- SYN_REPORT ------------
Event: time 1470988277.636116, type 4 (EV_MSC), code 4 (MSC_SCAN), value c00e2
Event: time 1470988277.636116, type 1 (EV_KEY), code 113 (KEY_MUTE), value 0
Event: time 1470988277.636116, -------------- SYN_REPORT ------------
Event: time 1470988277.780101, type 4 (EV_MSC), code 4 (MSC_SCAN), value c00e9
Event: time 1470988277.780101, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 1
Event: time 1470988277.780101, -------------- SYN_REPORT ------------
Event: time 1470988277.860103, type 4 (EV_MSC), code 4 (MSC_SCAN), value c00e9
Event: time 1470988277.860103, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 0
Event: time 1470988277.860103, -------------- SYN_REPORT ------------
Event: time 1470988278.660097, type 4 (EV_MSC), code 4 (MSC_SCAN), value c00cc
Event: time 1470988278.660097, type 1 (EV_KEY), code 240 (KEY_UNKNOWN), value 1
Event: time 1470988278.660097, -------------- SYN_REPORT ------------
Event: time 1470988278.724097, type 4 (EV_MSC), code 4 (MSC_SCAN), value c00cc
Event: time 1470988278.724097, type 1 (EV_KEY), code 240 (KEY_UNKNOWN), value 0
Event: time 1470988278.724097, -------------- SYN_REPORT ------------
So it looks like something somewhere is intercepting the keypresses so X11 or i3 (my WM) can't correctly evaluate them. I hope somebody here can help me fix this issue.