update PATHS.md

xkb
sezanzeb 4 years ago committed by sezanzeb
parent 61f3065432
commit aed86a3dc3

@ -1,29 +1,36 @@
# Folder Structure of Key Mapper
Stuff has to be placed in /usr/share/X11/xkb to my knowledge. In order to
Stuff has to be placed in `/usr/share/X11/xkb` to my knowledge. In order to
be able to make backups of the configs, which would be expected in the
users home directory, this is symlinked to home.
users home directory, this is symlinked to home where the actual files are.
Every user gets a path within that /usr directory which is very
Every user gets a path within that `/usr/...` directory which is very
unconventional, but it works. This way the presets of multiple users
don't clash.
**Presets**
- `/usr/share/X11/xkb/symbols/key-mapper/<user>/<device>/<preset>`
- `/home/<user>/.config/key-mapper/<device>/<preset>`
This is how a single preset is stored. The path in /usr is a symlink, the
files are actually in home.
- /usr/share/X11/xkb/symbols/key-mapper/<user>/<device>/<preset>
- /home/<user>/.config/key-mapper/<device>/<preset>
**Defaults**
- `/usr/share/X11/xkb/symbols/key-mapper/<user>/default`
- `/home/<user>/.config/key-mapper/default`
This is where key-mapper stores the defaults. They are generated from the
parsed output of `xmodmap` and used to keep the unmapped keys at their system
defaults.
- /usr/share/X11/xkb/symbols/key-mapper/<user>/default
- /home/<user>/.config/key-mapper/default
Because the concept of "reasonable symbolic names" [3] doesn't apply
when mouse buttons are all over the place, an identity mapping
to make generating "symbols" files easier/possible exists.
Keycode 10 -> "<10>". This has the added benefit that keycodes reported
by xev can be identified in the symbols file.
- /usr/share/X11/xkb/keycodes/key-mapper
**Keycodes**
- `/usr/share/X11/xkb/keycodes/key-mapper`
[3] https://www.x.org/releases/X11R7.7/doc/xorg-docs/input/XKB-Enhancing.html
Because the concept of "reasonable symbolic names" ([www.x.org](https://www.x.org/releases/X11R7.7/doc/xorg-docs/input/XKB-Enhancing.html))
doesn't apply when mouse buttons are all over the place, an identity mapping
to make generating "symbols" files easier/possible exists. A keycode of
10 will be known as "<10>" in symbols configs. This has the added benefit
that keycodes reported by xev can be identified in the symbols file.

Loading…
Cancel
Save