Start sudo libinput debug-events --show-keycodes
, and press Fn+F8, what’s printed?
Fn+F8
-event15 KEYBOARD_KEY +35.158s KEY_UNKNOWN (240) pressed
event15 KEYBOARD_KEY +35.158s KEY_UNKNOWN (240) released
-event3 KEYBOARD_KEY +35.584s KEY_F20 (190) pressed
event3 KEYBOARD_KEY +35.592s KEY_F20 (190) released
-event15 KEYBOARD_KEY +35.818s KEY_UNKNOWN (240) pressed
event15 KEYBOARD_KEY +35.818s KEY_UNKNOWN (240) released
F8:
^[[19~ event3 KEYBOARD_KEY +36.972s KEY_F8 (66) released
event3 KEYBOARD_KEY +37.165s KEY_F8 (66) pressed
^[[19~ event3 KEYBOARD_KEY +37.256s KEY_F8 (66) released
event3 KEYBOARD_KEY +38.784s KEY_F8 (66) pressed
^[[19~ event3 KEYBOARD_KEY +38.861s KEY_F8 (66) released
event3 KEYBOARD_KEY +41.230s KEY_LEFTCTRL (29) pressed
event3 KEYBOARD_KEY +41.438s KEY_C (46) pressed
^C
Note that I have to press fn to use normal F8. Because its “on” all the time on my laptop.
What if you add KEYBOARD_KEY_e002=f20
to your keyboard using hwdb
? Does that make a difference?
Can you post the output of cat /sys/class/input/input3/modalias
?
cat /sys/class/input/input3/modalias 1 ✘
───────┬────────────────────────────────────────────────────────────────────────
│ File: /sys/class/input/input3/modalias
───────┼────────────────────────────────────────────────────────────────────────
1 │ input:b0011v0001p0001eAB41-e0,1,4,11,14,k71,72,73,74,75,76,77,79,7A,7B,
│ 7C,7D,7E,7F,80,8A,8C,8E,8F,98,9B,9C,9D,9E,9F,A3,A4,A5,A6,AC,AD,B7,B8,B9
│ ,BE,D4,D9,E0,E1,E2,E3,EC,EE,F0,185,1D1,ram4,l0,1,2,sfw
───────┴────────────────────────────────────────────────────────────────────────
I have an alias for cat=bat so just ignore the rendering
You can create /etc/udev/hwdb.d/90-internal-keyboard.hwdb
:
evdev:input:b0011v0001p0001eAB41*
KEYBOARD_KEY_e002=f20
then run sudo systemd-hwdb update
, and then you can reboot.
That also changed nothing
Run sudo libinput debug-events --show-keycodes
again, and see what it prints when you try to trigger the mic mute.
Again that its unknown :
event15 KEYBOARD_KEY +0.231s KEY_UNKNOWN (240) pressed
event15 KEYBOARD_KEY +0.231s KEY_UNKNOWN (240) released
event15 KEYBOARD_KEY +1.098s KEY_UNKNOWN (240) pressed
event15 KEYBOARD_KEY +1.098s KEY_UNKNOWN (240) released
event15 KEYBOARD_KEY +1.770s KEY_UNKNOWN (240) pressed
event15 KEYBOARD_KEY +1.770s KEY_UNKNOWN (240) released
event15 KEYBOARD_KEY +2.368s KEY_UNKNOWN (240) pressed
event15 KEYBOARD_KEY +2.368s KEY_UNKNOWN (240) released
event15 KEYBOARD_KEY +3.018s KEY_UNKNOWN (240) pressed
event15 KEYBOARD_KEY +3.018s KEY_UNKNOWN (240) released
event15 KEYBOARD_KEY +3.728s KEY_UNKNOWN (240) pressed
event15 KEYBOARD_KEY +3.728s KEY_UNKNOWN (240) released
event15 KEYBOARD_KEY +4.464s KEY_UNKNOWN (240) pressed
event15 KEYBOARD_KEY +4.464s KEY_UNKNOWN (240) released
-event3 KEYBOARD_KEY +7.563s KEY_LEFTCTRL (29) pressed
event3 KEYBOARD_KEY +7.667s KEY_C (46) pressed
^C
I think I misunderstood something.
From this I gathered that pressing only “F8” on the keyboard results in a “normal” F8 key press.
And from this I gathered that you press Fn+F8 if you want to trigger the microphone mute, and that’s when you get the KEY_UNKNOWN
s.
Can you clarify?
So my laptop has F keys, and keys that are on Fs but also have specials tasks, just like on any other laptop. They change the brightness, volume etc. BUT when I JUST press an F key on my laptop its going to use its abnormal function like changing the brightness. I HAVE TO press the fn button to in a way disable the fn behaviour itself so that for example when Im trying to change a name of a file. I have to press fn+F2 on my keyboard for it to act like a normal F2 key, if I were to simply push the F2 labeled button, it would change my screens brightness. Does that make sense?
Here is me pressing simply F8 labeled button, which should trigger mic muting:
event15 KEYBOARD_KEY +1.711s KEY_UNKNOWN (240) pressed
event15 KEYBOARD_KEY +1.711s KEY_UNKNOWN (240) released
event15 KEYBOARD_KEY +2.118s KEY_UNKNOWN (240) pressed
event15 KEYBOARD_KEY +2.118s KEY_UNKNOWN (240) released
event15 KEYBOARD_KEY +2.398s KEY_UNKNOWN (240) pressed
event15 KEYBOARD_KEY +2.398s KEY_UNKNOWN (240) released
event15 KEYBOARD_KEY +2.625s KEY_UNKNOWN (240) pressed
event15 KEYBOARD_KEY +2.625s KEY_UNKNOWN (240) released
event15 KEYBOARD_KEY +2.851s KEY_UNKNOWN (240) pressed
event15 KEYBOARD_KEY +2.851s KEY_UNKNOWN (240) released
event15 KEYBOARD_KEY +3.078s KEY_UNKNOWN (240) pressed
event15 KEYBOARD_KEY +3.078s KEY_UNKNOWN (240) released
event15 KEYBOARD_KEY +3.305s KEY_UNKNOWN (240) pressed
event15 KEYBOARD_KEY +3.305s KEY_UNKNOWN (240) released
-event3 KEYBOARD_KEY +4.524s KEY_LEFTCTRL (29) pressed
event3 KEYBOARD_KEY +5.465s KEY_C (46) pressed
^C
This is when I do fn+F8 which would make it function as a normal F8 button on a normal keyboard:
^[[19~ event3 KEYBOARD_KEY +8.482s KEY_F8 (66) released
event3 KEYBOARD_KEY +8.498s KEY_F8 (66) pressed
^[[19~ event3 KEYBOARD_KEY +8.688s KEY_F8 (66) released
event3 KEYBOARD_KEY +8.715s KEY_F8 (66) pressed
^[[19~ event3 KEYBOARD_KEY +8.809s KEY_F8 (66) released
event3 KEYBOARD_KEY +8.830s KEY_F8 (66) pressed
^[[19~ event3 KEYBOARD_KEY +8.913s KEY_F8 (66) released
event3 KEYBOARD_KEY +8.923s KEY_F8 (66) pressed
^[[19~ event3 KEYBOARD_KEY +9.006s KEY_F8 (66) released
event3 KEYBOARD_KEY +9.021s KEY_F8 (66) pressed
^[[19~ event3 KEYBOARD_KEY +9.104s KEY_F8 (66) released
event3 KEYBOARD_KEY +9.733s KEY_LEFTCTRL (29) pressed
event3 KEYBOARD_KEY +10.137s KEY_C (46) pressed
^C
Is that clear now?
It’s clear now, thanks. What’s the output of udevadm hwdb -t evdev:$(cat /sys/class/input/input3/modalias)
?
I should thank you for helping me
udevadm hwdb -t evdev:$(cat /sys/class/input/input3/modalias)
KEYBOARD_KEY_e002=f20
Install the evtest
package, then run sudo evtest /dev/input/event3
and just press the F8 key, what does it print?
Here, I just pressed the F8 key which should toggle mic mute:
~ sudo evtest /dev/input/event3 ✔ 18s
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) 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 1611006879.532200, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1c
Event: time 1611006879.532200, type 1 (EV_KEY), code 28 (KEY_ENTER), value 0
Event: time 1611006879.532200, -------------- SYN_REPORT ------------
Event: time 1611006882.396465, type 4 (EV_MSC), code 4 (MSC_SCAN), value 82
Event: time 1611006882.396465, -------------- SYN_REPORT ------------
Event: time 1611006882.403025, type 4 (EV_MSC), code 4 (MSC_SCAN), value 82
Event: time 1611006882.403025, -------------- SYN_REPORT ------------
Event: time 1611006882.405807, type 4 (EV_MSC), code 4 (MSC_SCAN), value 58
Event: time 1611006882.405807, -------------- SYN_REPORT ------------
Event: time 1611006882.590435, type 4 (EV_MSC), code 4 (MSC_SCAN), value 82
Event: time 1611006882.590435, -------------- SYN_REPORT ------------
Event: time 1611006882.596763, type 4 (EV_MSC), code 4 (MSC_SCAN), value 82
Event: time 1611006882.596763, -------------- SYN_REPORT ------------
Event: time 1611006882.601030, type 4 (EV_MSC), code 4 (MSC_SCAN), value 58
Event: time 1611006882.601030, -------------- SYN_REPORT ------------
Event: time 1611006882.781233, type 4 (EV_MSC), code 4 (MSC_SCAN), value 82
Event: time 1611006882.781233, -------------- SYN_REPORT ------------
Event: time 1611006882.789796, type 4 (EV_MSC), code 4 (MSC_SCAN), value 82
Event: time 1611006882.789796, -------------- SYN_REPORT ------------
Event: time 1611006882.792977, type 4 (EV_MSC), code 4 (MSC_SCAN), value 58
Event: time 1611006882.792977, -------------- SYN_REPORT ------------
Event: time 1611006882.973759, type 4 (EV_MSC), code 4 (MSC_SCAN), value 82
Event: time 1611006882.973759, -------------- SYN_REPORT ------------
Event: time 1611006882.980896, type 4 (EV_MSC), code 4 (MSC_SCAN), value 82
Event: time 1611006882.980896, -------------- SYN_REPORT ------------
Event: time 1611006882.984224, type 4 (EV_MSC), code 4 (MSC_SCAN), value 58
Event: time 1611006882.984224, -------------- SYN_REPORT ------------
Event: time 1611006884.147059, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1d
Event: time 1611006884.147059, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1
Event: time 1611006884.147059, -------------- SYN_REPORT ------------
Event: time 1611006884.211283, type 4 (EV_MSC), code 4 (MSC_SCAN), value 2e
Event: time 1611006884.211283, type 1 (EV_KEY), code 46 (KEY_C), value 1
Event: time 1611006884.211283, -------------- SYN_REPORT ------------
^C%
I guess what we could try is changing KEYBOARD_KEY_e002=f20
to KEYBOARD_KEY_82=f20
, then run sudo systemd-hwdb update
, then reboot for good measure.
IT WORKED!!! Altho the little LED thats on the key does not light up. I cant see my mic being muted/unmuted not! Thank you! Do you think there may be a way to also make that LED work? A similar button that toggle my camera works and the LED also works
The LED probably needs HP specific calls into the firmware. I cannot really help you with that. Most display environments can show the microphone state, which is not as good as an LED, but still something, I guess.
Thats okay. Thank you very very much for help!!!