What does the exclamation mark mean in udev rule?

Maxim Khokhryakov

I'am trying to get the brightness control keys (fn + arrows) to work on Arch Linux x64.

So, i get a look into udev rule for my integrated ps/2 laptop keyboard using udevadm info:

P: /devices/platform/i8042/serio0/input/input4/event4
N: input/event4
L: 0
S: input/by-path/platform-i8042-serio-0-event-kbd
E: DEVPATH=/devices/platform/i8042/serio0/input/input4/event4
E: DEVNAME=/dev/input/event4
E: MAJOR=13
E: MINOR=68
E: SUBSYSTEM=input
E: USEC_INITIALIZED=26133209
E: KEYBOARD_KEY_74=prog1
E: KEYBOARD_KEY_75=www
E: KEYBOARD_KEY_78=mail
E: KEYBOARD_KEY_82=!switchvideomode
E: KEYBOARD_KEY_83=!battery
E: KEYBOARD_KEY_84=!prog1
E: KEYBOARD_KEY_86=!wlan
E: KEYBOARD_KEY_88=!brightnessup
E: KEYBOARD_KEY_89=!brightnessdown
E: KEYBOARD_KEY_b1=!prog2
E: KEYBOARD_KEY_b3=!prog3
E: KEYBOARD_KEY_b4=!wlan
E: KEYBOARD_KEY_c5=!prog3
E: KEYBOARD_KEY_d5=!wlan
E: KEYBOARD_KEY_f7=!f22
E: KEYBOARD_KEY_f9=!f23
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_INPUT_KEYBOARD=1
E: ID_BUS=i8042
E: ID_SERIAL=noserial
E: ID_PATH=platform-i8042-serio-0
E: ID_PATH_TAG=platform-i8042-serio-0
E: LIBINPUT_DEVICE_GROUP=11/1/1:isa0060/serio0
E: DEVLINKS=/dev/input/by-path/platform-i8042-serio-0-event-kbd
E: TAGS=:power-switch:

The https://wiki.archlinux.org/index.php/Map_scancodes_to_keycodes says that syntax construction KEYBOARD_KEY_<scancode>=<keycode> binds the keycode to scancode. List of available keycodes can be found here.

As we can see, 88 and 89 scancodes are binded (or not?) to brightness keycodes. This is absolutely correct - i trying to press brightness keys while running evtest - and this generates 88 and 89 scancodes (but keycode information is missing). Pressing this keys while running journactl -f prints next: atkbd serio0: Unknown key pressed (translated set 2, code 0x88 on isa0060/serio0).

So, the problem is, that i just don't understand, that does the "!" symbol mean before keycode? I can't find this syntax case in udev docs.

I guess that this construction unbinds the key from scancode - then I'm at a loss: why would the developer who wrote this rule unbinds this absolutelly correct keys?

pizdelect

From /lib/udev/hwdb.d/60-keyboard.hwdb

# An '!' as the first character of the key identifier string
# will add the scan code to the AT keyboard's list of scan codes
# where the driver will synthesize a release event and not expect
# it to be generated by the hardware.

There doesn't seem to be other "documentation" beyond that in the systemd source code. hwdb(7) doesn't say anything about it.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Java

What does an exclamation mark mean in the Swift language?

From Dev

What does the exclamation mark mean for a swift initializer?

From Dev

What does this exclamation mark mean in Javascript?

From Dev

What does an exclamation mark mean in diff output?

From Dev

What does an exclamation mark before a cell reference mean?

From Dev

What does the exclamation mark after a SASS import mean?

From Dev

What does the exclamation mark mean in git config alias?

From Dev

What does an exclamation mark before a variable mean in JavaScript

From Dev

ES6 imports - what does the exclamation mark mean?

From Dev

What does exclamation mark mean inside Intern's define?

From Dev

What does the red exclamation mark in my layout file mean?

From Dev

What does exclamation mark mean inside Intern's define?

From Dev

What does an exclamation mark mean in the Windows 8.1 Mail App?

From Dev

What does the red exclamation mark in my layout file mean?

From Dev

what is the Exclamation mark mean in eclipse ? android project

From Java

What does exclamation mark mean before invoking a method in C# 8.0?

From Dev

What does the exclamation mark mean in big-o, i.e. O(X!)?

From Dev

What does the red exclamation mark next to English (language dropdown) mean in iTunes Connect?

From Java

What does the exclamation mark do before the function?

From Dev

What does an exclamation mark in Lua do?

From Dev

What does these udev rules mean?

From Dev

What does GROUP in an udev rule actually set?

From Dev

What does the exclamation point mean in a trait implementation?

From Dev

What does question mark mean?

From Dev

What does %-mark mean in Clojure?

From Dev

What does this iptables rule mean?

From Dev

What does this iptable rule mean?

From Dev

What does this permission rule mean

From Dev

What does typing a single exclamation mark do in Bash?

Related Related

  1. 1

    What does an exclamation mark mean in the Swift language?

  2. 2

    What does the exclamation mark mean for a swift initializer?

  3. 3

    What does this exclamation mark mean in Javascript?

  4. 4

    What does an exclamation mark mean in diff output?

  5. 5

    What does an exclamation mark before a cell reference mean?

  6. 6

    What does the exclamation mark after a SASS import mean?

  7. 7

    What does the exclamation mark mean in git config alias?

  8. 8

    What does an exclamation mark before a variable mean in JavaScript

  9. 9

    ES6 imports - what does the exclamation mark mean?

  10. 10

    What does exclamation mark mean inside Intern's define?

  11. 11

    What does the red exclamation mark in my layout file mean?

  12. 12

    What does exclamation mark mean inside Intern's define?

  13. 13

    What does an exclamation mark mean in the Windows 8.1 Mail App?

  14. 14

    What does the red exclamation mark in my layout file mean?

  15. 15

    what is the Exclamation mark mean in eclipse ? android project

  16. 16

    What does exclamation mark mean before invoking a method in C# 8.0?

  17. 17

    What does the exclamation mark mean in big-o, i.e. O(X!)?

  18. 18

    What does the red exclamation mark next to English (language dropdown) mean in iTunes Connect?

  19. 19

    What does the exclamation mark do before the function?

  20. 20

    What does an exclamation mark in Lua do?

  21. 21

    What does these udev rules mean?

  22. 22

    What does GROUP in an udev rule actually set?

  23. 23

    What does the exclamation point mean in a trait implementation?

  24. 24

    What does question mark mean?

  25. 25

    What does %-mark mean in Clojure?

  26. 26

    What does this iptables rule mean?

  27. 27

    What does this iptable rule mean?

  28. 28

    What does this permission rule mean

  29. 29

    What does typing a single exclamation mark do in Bash?

HotTag

Archive