linux-old/drivers/tc/lk201-remap.c
<<
>>
Prefs
   1/*
   2 * Keyboard mappings for DEC LK201/401/501 keyboards
   3 *
   4 * 17.05.99 Michael Engel (engel@unix-ag.org)
   5 *
   6 * DEC US keyboards generate keycodes in the range 0x55 - 0xfb
   7 *
   8 * This conflicts with Linux scancode conventions which define
   9 * 0x00-0x7f as "normal" and 0x80-0xff as "shifted" scancodes, so we
  10 * have to remap the keycodes to 0x00-0x7f with the scancodeRemap
  11 * array. The generated scancode is simply the number of the key counted
  12 * from the left upper to the right lower corner of the keyboard ...
  13 *
  14 * These scancodes are then being remapped (I hope ;-)) with the
  15 * lk501*map[] arrays which define scancode -> Linux code mapping
  16 *
  17 * Oh man is this horrible ;-)
  18 *
  19 * Scancodes with dual labels exist for keyboards as follows:
  20 *
  21 * code:  left label          / right label
  22 *
  23 * 0x73:  LKx01, LK421        / LK443, LK444
  24 * 0x74:  LKx01, LK421        / LK443, LK444
  25 * 0x7c:  LKx01, LK421        / LK443, LK444
  26 * 0x8a:  LKx01, LK421        / LK443, LK444
  27 * 0x8b:  LKx01, LK421        / LK443, LK444
  28 * 0x8c:  LKx01, LK421        / LK443, LK444
  29 * 0x8d:  LKx01, LK421        / LK443, LK444
  30 * 0x8e:  LKx01, LK421        / LK443, LK444
  31 * 0x8f:  LKx01, LK421        / LK443, LK444
  32 * 0x9c:  LKx01, LK421        / LK443, LK444
  33 * 0xa1:  LKx01, LK421        / LK443, LK444
  34 * 0xa2:  LKx01, LK421        / LK443, LK444
  35 * 0xa3:  LKx01, LK421        / LK443, LK444
  36 * 0xa4:  LKx01, LK421        / LK443, LK444
  37 * 0xad:         LK421        / LK443, LK444
  38 * 0xc9:  LKx01, LK421, LK443 /        LK444
  39 * 0xf7:  LKx01,        LK443 /        LK444
  40 */
  41
  42unsigned char scancodeRemap[256] = {
  43/* -----                                                                */
  44/*  0 */ 0,             0,              0,              0,
  45/* -----                                                                */
  46/*  4 */ 0,             0,              0,              0,
  47/* -----                                                                */
  48/*  8 */ 0,             0,              0,              0,
  49/* -----                                                                */
  50/*  c */ 0,             0,              0,              0,
  51/* -----                                                                */
  52/* 10 */ 0,             0,              0,              0,
  53/* -----                                                                */
  54/* 14 */ 0,             0,              0,              0,
  55/* -----                                                                */
  56/* 18 */ 0,             0,              0,              0,
  57/* -----                                                                */
  58/* 1c */ 0,             0,              0,              0,
  59/* -----                                                                */
  60/* 20 */ 0,             0,              0,              0,
  61/* -----                                                                */
  62/* 24 */ 0,             0,              0,              0,
  63/* -----                                                                */
  64/* 28 */ 0,             0,              0,              0,
  65/* -----                                                                */
  66/* 2c */ 0,             0,              0,              0,
  67/* -----                                                                */
  68/* 30 */ 0,             0,              0,              0,
  69/* -----                                                                */
  70/* 34 */ 0,             0,              0,              0,
  71/* -----                                                                */
  72/* 38 */ 0,             0,              0,              0,
  73/* -----                                                                */
  74/* 3c */ 0,             0,              0,              0,
  75/* -----                                                                */
  76/* 40 */ 0,             0,              0,              0,
  77/* -----                                                                */
  78/* 44 */ 0,             0,              0,              0,
  79/* -----                                                                */
  80/* 48 */ 0,             0,              0,              0,
  81/* -----                                                                */
  82/* 4c */ 0,             0,              0,              0,
  83/* -----                                                                */
  84/* 50 */ 0,             0,              0,              0,
  85/* -----                ESC             F1              F2              */
  86/* 54 */ 0,             0,              0x01,           0x02,
  87/* ----- F3             F4              F5                              */
  88/* 58 */ 0x03,          0x04,           0x05,           0,
  89/* -----                                                                */
  90/* 5c */ 0,             0,              0,              0,
  91/* -----                                                                */
  92/* 60 */ 0,             0,              0,              0,
  93/* ----- F6             F7              F8              F9              */
  94/* 64 */ 0x06,          0x07,           0x08,           0x09,
  95/* ----- F10                                                            */
  96/* 68 */ 0x0a,          0,              0,              0,
  97/* -----                                                                */
  98/* 6c */ 0,             0,              0,              0,
  99/* -----                F11             F12             F13/PRNT SCRN   */
 100/* 70 */ 0,             0x0b,           0x0c,           0x0d,
 101/* ----- F14/SCRL LCK                                                   */
 102/* 74 */ 0x0e,          0,              0,              0,
 103/* -----                                                                */
 104/* 78 */ 0,             0,              0,              0,
 105/* ----- HELP/PAUSE     DO                                              */
 106/* 7c */ 0x0f,          0x10,           0,              0,
 107/* ----- F17            F18             F19             F20             */
 108/* 80 */ 0x11,          0x12,           0x13,           0x14,
 109/* -----                                                                */
 110/* 84 */ 0,             0,              0,              0,
 111/* -----                                FIND/INSERT     INSERT/HOME     */
 112/* 88 */ 0,             0,              0x23,           0x24,
 113/* ----- REMOVE/PG UP   SELECT/DELETE   PREVIOUS/END    NEXT/PG DN      */
 114/* 8c */ 0x25,          0x38,           0x39,           0x3a,
 115/* -----                                KP 0                            */
 116/* 90 */ 0,             0,              0x6b,           0,
 117/* ----- KP .           KP ENTER        KP 1            KP 2            */
 118/* 94 */ 0x6c,          0x65,           0x62,           0x63,
 119/* ----- KP 3           KP 4            KP 5            KP 6            */
 120/* 98 */ 0x64,          0x4e,           0x4f,           0x50,
 121/* ----- KP ,/KP +      KP 7            KP 8            KP 9            */
 122/* 9c */ 0x51,          0x3b,           0x3c,           0x3d,
 123/* ----- KP -           KP F1/NUM LCK   KP F2/KP /      KP F3/KP *      */
 124/* a0 */ 0x3e,          0x26,           0x27,           0x28,
 125/* ----- KP F4/KP -                                     LEFT            */
 126/* a4 */ 0x29,          0,              0,              0x5f,
 127/* ----- RIGHT          DOWN            UP              SHIFT Rt        */
 128/* a8 */ 0x61,          0x60,           0x4d,           0x5e,
 129/* ----- ALT            COMP Rt/CTRL Rt SHIFT           CONTROL         */
 130/* ac */ 0,             0,              0x52,           0x3f,
 131/* ----- CAPS           COMPOSE         ALT Rt                          */
 132/* b0 */ 0x40,          0x67,           0,              0,
 133/* -----                                                                */
 134/* b4 */ 0,             0,              0,              0,
 135/* -----                                                                */
 136/* b8 */ 0,             0,              0,              0,
 137/* ----- BKSP           RET             TAB             `               */
 138/* bc */ 0x22,          0x37,           0x2a,           0x15,
 139/* ----- 1              q               a               z               */
 140/* c0 */ 0x16,          0x2b,           0x41,           0x54,
 141/* -----                2               w               s               */
 142/* c4 */ 0,             0x17,           0x2c,           0x42,
 143/* ----- x              </\\                            3               */
 144/* c8 */ 0x55,          0x53,           0,              0x18,
 145/* ----- e              d               c                               */
 146/* cc */ 0x2d,          0x43,           0x56,           0,
 147/* ----- 4              r               f               v               */
 148/* d0 */ 0x19,          0x2e,           0x44,           0x57,
 149/* ----- SPACE                          5               t               */
 150/* d4 */ 0x68,          0,              0x1a,           0x2f,
 151/* ----- g              b                               6               */
 152/* d8 */ 0x45,          0x58,           0,              0x1b,
 153/* ----- y              h               n                               */
 154/* dc */ 0x30,          0x46,           0x59,           0,
 155/* ----- 7              u               j               m               */
 156/* e0 */ 0x1c,          0x31,           0x47,           0x5a,
 157/* -----                8               i               k               */
 158/* e4 */ 0,             0x1d,           0x32,           0x48,
 159/* ----- ,                              9               o               */
 160/* e8 */ 0x5b,          0,              0x1e,           0x33,
 161/* ----- l              .                               0               */
 162/* ec */ 0x49,          0x5c,           0,              0x1f,
 163/* ----- p                              ;               /               */
 164/* f0 */ 0x34,          0,              0x4a,           0x5d,
 165/* -----                =               ]               \\/\'           */
 166/* f4 */ 0,             0x21,           0x36,           0x4c,
 167/* -----                -               [               \'              */
 168/* f8 */ 0,             0x20,           0x35,           0x4b,
 169/* -----                                                                */
 170/* fc */ 0,             0,              0,              0,
 171};
 172
 173
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.