| 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 |
| |