6838f03890
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
115 lines
2.6 KiB
Plaintext
115 lines
2.6 KiB
Plaintext
Key code / scan code / key symbol mapping database
|
|
==================================================
|
|
|
|
This module provides a database that maps between different
|
|
key code / scan code / key symbol sets:
|
|
|
|
- Linux evdev
|
|
- OS-X
|
|
- AT Set 1
|
|
- AT Set 2
|
|
- AT Set 3
|
|
- XT
|
|
- Linux XT KBD driver
|
|
- USB HID
|
|
- Win32
|
|
- XWin XT
|
|
- XKBD XT
|
|
- Xorg Evdev
|
|
- Xorg KBD
|
|
- Xorg OS-X
|
|
- XOrg Cygwin
|
|
- RFB
|
|
|
|
Licensing
|
|
---------
|
|
|
|
The contents of this package are dual licensed under the terms of:
|
|
|
|
- GNU General Public License (version 2 or later)
|
|
- 3-clause BSD License
|
|
|
|
The output files generated by keymap-gen may be distributed & used under
|
|
the terms of either of the above licenses.
|
|
|
|
Data formats
|
|
------------
|
|
|
|
The following output formats are possible
|
|
|
|
- Code map
|
|
|
|
An array mapping between key code sets values
|
|
|
|
Indexes in the array are values from the source code set.
|
|
Entries in the array are values from the target code set
|
|
|
|
|
|
- Code table
|
|
|
|
An array listing all values in a key code set
|
|
|
|
Indexes in the array are simply a numeric counter
|
|
Entries in the array are values from the key code set
|
|
|
|
The size of the array matches the total number of entries in
|
|
the keycode database.
|
|
|
|
|
|
- Name map
|
|
|
|
An array mapping between key code sets values and names
|
|
|
|
Indexes in the array are values from the source code set
|
|
Entries in the array are names from the target code set
|
|
|
|
|
|
- Name table
|
|
|
|
An array listing all names in a key code set
|
|
|
|
Indexes in the array are simply a numeric counter
|
|
Entries in the array are values from the key code set
|
|
|
|
The size of the array matches the total number of entries in
|
|
the keycode database.
|
|
|
|
|
|
Output languages
|
|
----------------
|
|
|
|
The tool is capable of generating data tables for the following
|
|
programming languages / environments
|
|
|
|
- Standard C
|
|
- GLib2 (standard C, but with GLib2 data types)
|
|
- Python
|
|
- Perl
|
|
|
|
|
|
Usage
|
|
-----
|
|
|
|
Map values from AT Set 1 to USB HID, generating tables for the
|
|
C programming language
|
|
|
|
$ keymap-gen --lang stdc code-map data/keymaps.csv atset1 usb
|
|
|
|
Generate a tables of names for Linux key codes, OS-X key codes,
|
|
in python - equivalent array indexes map between the two sets.
|
|
A variable name override is used
|
|
|
|
$ keymap-gen --varname linux_keycodes --lang stdc \
|
|
code-table data/keymaps.csv linux
|
|
$ keymap-gen --varname osx_keycodes --lang stdc \
|
|
code-table data/keymaps.csv os-x
|
|
|
|
Generate a mapping from XOrg XWin values to Win32 names
|
|
|
|
$ keymap-gen --lang perl name-map data/keymaps.csv xorgxwin win32
|
|
|
|
Generate a table of names for Linux key codes in Perl
|
|
|
|
$ keymap-gen --lang perl name-table data/keymaps.csv linux
|
|
|