Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
1 result

keycodemapdb

  • Clone with SSH
  • Clone with HTTPS
  • Akihiko Odaki's avatar
    小田喜陽彦 authored
    This corresponds to commit d7696ff884e35c6dacf83a7cbe3355e3b0a90125
    of https://gitlab.com/qemu-project/qemu
    
    .
    
    Signed-off-by: default avatarAkihiko Odaki <akihiko.odaki@gmail.com>
    d21009b1
    History
       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
     - Rust
    
    
    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