Function keys F7 to F12 not working since 2 weeks

I did not found any solution. Don’t know, what to do.

I had similar issue with an old Cherry keyboard…
Little hope: install systemd250 for testing, maybe thr issue goes away.
If systemd250 works, you can go back to systemd251 and do: blacklist: eeepc_wmi
(add to: /etc/modprobe.d/blacklist.conf). Otherwise no ideas yet.

Then you should’ve said so, have you tried with evtest? Have you tried with Fn + F7 etc?

With so many keys and keyboards being affected, it seems like something is blocking/intercepting the scancodes. So presumably it’s a low level mis-configuration or bug.

The apple configuration should be checked.

udev and the hwdb could cause this. If the scancode has been mapped to ‘reserved’ it wouldn’t show in showkey but it would show in evtest. :man_shrugging: Map_scancodes_to_keycodes

:crossed_fingers:

Today I tried with sudo showkey -s and I got:

F7…F12
0x41
0xc1
0x42
0xc2
0x43
0xc3
0x44
0xc4
0x57
0xd7
0x58 0xd8

Fn + F7 … F12
0x1c 0x9c
0xe0 0x10
0xe0 0x90
0xe0 0x22
0xe0 0xa2
0xe0 0x19
0xe0 0x99
0xe0 0x20
0xe0 0xa0
0xe0 0x2e
0xe0 0xae
0xe0 0x30
0xe0 0xb0

Without sudo I get “Dateideskriptor, der auf die Konsole verweist, konnte nicht gefunden werden.”

Sorry: what is systemd250 and systemd251? How to install it?

Is it possible, that system need something like a
/etc/udev/hwdb.d/50-apple-kbd.hwdb
?
The tree below /usr/lib/udev was updated in Juni and July.

Sorry, wer das nicht weiss sollte die Finger davon lassen :joy:

systemd251 is the actual version in the repo, old version do not know where (exept on my PC)…
Try in Terminal:
sudo nano /etc/modprobe.d/blacklist.conf and add this entry: blacklist: eeepc_wmi
and reboot to take effect…

/etc/udev/hwdb.d/50-apple-kbd.hwdb - good idea, I presume.

I found:

|/dev/input/event8:|Apple Inc. Apple Keyboard|
|/dev/input/event9:|Apple Inc. Apple Keyboard|

If I use event9, than the keys doesnt work:

Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x5ac product 0x24f version 0x111
Input device name: "Apple Inc. Apple Keyboard"
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 161 (KEY_EJECTCD)
    Event code 163 (KEY_NEXTSONG)
    Event code 164 (KEY_PLAYPAUSE)
    Event code 165 (KEY_PREVIOUSSONG)
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
Properties:
Testing ... (interrupt to exit)
^[[17~^[[15~^C

If I use event8 it shows other things:

/dev/input/event8:	Apple Inc. Apple Keyboard
/dev/input/event9:	Apple Inc. Apple Keyboard
Select the device event number [0-21]: 8
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x5ac product 0x24f version 0x111
Input device name: "Apple Inc. Apple 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 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 119 (KEY_PAUSE)
    Event code 120 (KEY_SCALE)
    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 129 (KEY_AGAIN)
    Event code 130 (KEY_PROPS)
    Event code 131 (KEY_UNDO)
    Event code 132 (KEY_FRONT)
    Event code 133 (KEY_COPY)
    Event code 134 (KEY_OPEN)
    Event code 135 (KEY_PASTE)
    Event code 136 (KEY_FIND)
    Event code 137 (KEY_CUT)
    Event code 138 (KEY_HELP)
    Event code 140 (KEY_CALC)
    Event code 142 (KEY_SLEEP)
    Event code 150 (KEY_WWW)
    Event code 152 (KEY_SCREENLOCK)
    Event code 158 (KEY_BACK)
    Event code 159 (KEY_FORWARD)
    Event code 161 (KEY_EJECTCD)
    Event code 163 (KEY_NEXTSONG)
    Event code 164 (KEY_PLAYPAUSE)
    Event code 165 (KEY_PREVIOUSSONG)
    Event code 166 (KEY_STOPCD)
    Event code 173 (KEY_REFRESH)
    Event code 176 (KEY_EDIT)
    Event code 177 (KEY_SCROLLUP)
    Event code 178 (KEY_SCROLLDOWN)
    Event code 179 (KEY_KPLEFTPAREN)
    Event code 180 (KEY_KPRIGHTPAREN)
    Event code 183 (KEY_F13)
    Event code 184 (KEY_F14)
    Event code 185 (KEY_F15)
    Event code 186 (KEY_F16)
    Event code 187 (KEY_F17)
    Event code 188 (KEY_F18)
    Event code 189 (KEY_F19)
    Event code 190 (KEY_F20)
    Event code 191 (KEY_F21)
    Event code 192 (KEY_F22)
    Event code 193 (KEY_F23)
    Event code 194 (KEY_F24)
    Event code 204 (KEY_DASHBOARD)
    Event code 224 (KEY_BRIGHTNESSDOWN)
    Event code 225 (KEY_BRIGHTNESSUP)
    Event code 227 (KEY_SWITCHVIDEOMODE)
    Event code 228 (KEY_KBDILLUMTOGGLE)
    Event code 229 (KEY_KBDILLUMDOWN)
    Event code 230 (KEY_KBDILLUMUP)
    Event code 240 (KEY_UNKNOWN)
    Event code 464 (KEY_FN)
  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
    Event code 3 (LED_COMPOSE) state 0
    Event code 4 (LED_KANA) 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 1658945510.732823, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70028
Event: time 1658945510.732823, type 1 (EV_KEY), code 28 (KEY_ENTER), value 0
Event: time 1658945510.732823, -------------- SYN_REPORT ------------
Event: time 1658945513.564460, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70040
Event: time 1658945513.564460, type 1 (EV_KEY), code 65 (KEY_F7), value 1
Event: time 1658945513.564460, -------------- SYN_REPORT ------------
Event: time 1658945513.724989, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70040
Event: time 1658945513.724989, type 1 (EV_KEY), code 65 (KEY_F7), value 0

Why there are two Apple Keyboard inputs?

One is for media keys and the other is for everything else. You can see them in “Supported events” .

Your F7 key works and is mapped to the correct keycode. :+1:

Check what keysyms they’re mapped to:

xev -event keyboard

F keys are application specific, it’s likely to be a DE/program configuration issue. If the keysyms are F7 etc then you need to check your keyboard shortcuts.

The Result, hid F7 then:

# xev -event keyboard
Outer window is 0x8200001, inner window is 0x8200002

KeymapNotify event, serial 20, synthetic NO, window 0x0,
    keys:  73  0   0   0   16  0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

KeyRelease event, serial 25, synthetic NO, window 0x8200001,
    root 0x7b0, subw 0x0, time 89232529, (821,847), root:(2652,1831),
    state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
"   XLookupString gives 1 bytes: (0d) "
    XFilterEvent returns: False

KeymapNotify event, serial 26, synthetic NO, window 0x0,
    keys:  176 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

After hid F6:

KeyPress event, serial 28, synthetic NO, window 0x8200001,
    root 0x7b0, subw 0x0, time 89282033, (821,847), root:(2652,1831),
    state 0x0, keycode 72 (keysym 0xffc3, F6), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 28, synthetic NO, window 0x8200001,
    root 0x7b0, subw 0x0, time 89282161, (821,847), root:(2652,1831),
    state 0x0, keycode 72 (keysym 0xffc3, F6), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

I use us-keyboard for developing my software, but I have a german locale setting.

Did you click in the box before pressing F7?

Yes, I done

Today I use the keyboard settings from XFCE and switch to use the system settings. After reboot I cannot switch to german but the F7…F12 keys does work.
If I set individual again with same keyboard model as in the system but two available keyboard layouts (us and de macintosh) the F7…F12 does not work again.

I’ve managed to replicate it in an XFCE VM, applealu_ansi (and applealu_iso) turns it into a keymapnotify event, but I don’t know how/where/why this happens. :man_shrugging:

setxkbmap -print -verbose 10

$ setxkbmap -print -verbose 10
Setting verbose level to 10
locale is C
Trying to load rules file ./rules/evdev...
Trying to load rules file /usr/share/X11/xkb/rules/evdev...
Success.
Applied rules from evdev:
rules:      evdev
model:      applealu_ansi
layout:     us,de
variant:    ,qwerty
options:    grp:win_space_toggle
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwerty)
types:      complete+numpad(mac)
compat:     complete
symbols:    macintosh_vndr/apple(alukbd)+macintosh_vndr/us+de(qwerty):2+inet(evdev)+group(win_space_toggle):1+group(win_space_toggle):2
geometry:   macintosh(applealu_ansi)
xkb_keymap {
	xkb_keycodes  { include "evdev+aliases(qwerty)"	};
	xkb_types     { include "complete+numpad(mac)"	};
	xkb_compat    { include "complete"	};
	xkb_symbols   { include "macintosh_vndr/apple(alukbd)+macintosh_vndr/us+de(qwerty):2+inet(evdev)+group(win_space_toggle):1+group(win_space_toggle):2"	};
	xkb_geometry  { include "macintosh(applealu_ansi)"	};
};

Thank you for your time!

You’re welcome. :slight_smile:

If I hit F7 then F8 very quickly, F8 registers a KeyRelease event, this seems to work for any combination.

Whilst testing this, I realised that the keys are actually registered correctly in the Application Shortcuts tab (I forgot to check earlier :man_facepalming:), so I’m back to thinking this is a program or DE configuration issue.

Do they register correctly for you?

EIDT:

I keep forgetting to ask: What do you expect these keys to do?

I think too, it is something with the locale configuration. But I do not know, what to do. Until middle of June it works fine. Then was an update…

For example, with F10 I want to close the midnight commander from command line. Or I want to navigate in the browsers development tools to step debugging javascript.

If you mean update to "systemd 251 - there where / are new problems.
For example my Cherry-Keyboard was suspected of having 24 instead of 12 F-keys. No, innocent.
Solution was blacklisting something weired, but that helped in this case (posting above (#17))

I found: on a second account on same machine was the keyboard layout “Generic PC … 105 keys” active. The F-keys has worked.
Then I switch to the apple aluminium (ISO or ANSI, both same effect) keyboard and the F7…F10 keys doesnt work. They do not work after switching back to the generic keyboard!
So, how to fix the apple keyboard driver?

After reboot with setting of the generic layout the F-Keys do their work again.

Thank you for your support!