linux/drivers/tty/vt/defkeymap.c_shipped
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0
   2/* Do not edit this file! It was automatically generated by   */
   3/*    loadkeys --mktable defkeymap.map > defkeymap.c          */
   4
   5#include <linux/types.h>
   6#include <linux/keyboard.h>
   7#include <linux/kd.h>
   8
   9unsigned short plain_map[NR_KEYS] = {
  10        0xf200, 0xf01b, 0xf031, 0xf032, 0xf033, 0xf034, 0xf035, 0xf036,
  11        0xf037, 0xf038, 0xf039, 0xf030, 0xf02d, 0xf03d, 0xf07f, 0xf009,
  12        0xfb71, 0xfb77, 0xfb65, 0xfb72, 0xfb74, 0xfb79, 0xfb75, 0xfb69,
  13        0xfb6f, 0xfb70, 0xf05b, 0xf05d, 0xf201, 0xf702, 0xfb61, 0xfb73,
  14        0xfb64, 0xfb66, 0xfb67, 0xfb68, 0xfb6a, 0xfb6b, 0xfb6c, 0xf03b,
  15        0xf027, 0xf060, 0xf700, 0xf05c, 0xfb7a, 0xfb78, 0xfb63, 0xfb76,
  16        0xfb62, 0xfb6e, 0xfb6d, 0xf02c, 0xf02e, 0xf02f, 0xf700, 0xf30c,
  17        0xf703, 0xf020, 0xf207, 0xf100, 0xf101, 0xf102, 0xf103, 0xf104,
  18        0xf105, 0xf106, 0xf107, 0xf108, 0xf109, 0xf208, 0xf209, 0xf307,
  19        0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
  20        0xf302, 0xf303, 0xf300, 0xf310, 0xf206, 0xf200, 0xf03c, 0xf10a,
  21        0xf10b, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
  22        0xf30e, 0xf702, 0xf30d, 0xf01c, 0xf701, 0xf205, 0xf114, 0xf603,
  23        0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
  24        0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
  25        0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
  26};
  27
  28static unsigned short shift_map[NR_KEYS] = {
  29        0xf200, 0xf01b, 0xf021, 0xf040, 0xf023, 0xf024, 0xf025, 0xf05e,
  30        0xf026, 0xf02a, 0xf028, 0xf029, 0xf05f, 0xf02b, 0xf07f, 0xf009,
  31        0xfb51, 0xfb57, 0xfb45, 0xfb52, 0xfb54, 0xfb59, 0xfb55, 0xfb49,
  32        0xfb4f, 0xfb50, 0xf07b, 0xf07d, 0xf201, 0xf702, 0xfb41, 0xfb53,
  33        0xfb44, 0xfb46, 0xfb47, 0xfb48, 0xfb4a, 0xfb4b, 0xfb4c, 0xf03a,
  34        0xf022, 0xf07e, 0xf700, 0xf07c, 0xfb5a, 0xfb58, 0xfb43, 0xfb56,
  35        0xfb42, 0xfb4e, 0xfb4d, 0xf03c, 0xf03e, 0xf03f, 0xf700, 0xf30c,
  36        0xf703, 0xf020, 0xf207, 0xf10a, 0xf10b, 0xf10c, 0xf10d, 0xf10e,
  37        0xf10f, 0xf110, 0xf111, 0xf112, 0xf113, 0xf213, 0xf203, 0xf307,
  38        0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
  39        0xf302, 0xf303, 0xf300, 0xf310, 0xf206, 0xf200, 0xf03e, 0xf10a,
  40        0xf10b, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
  41        0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf114, 0xf603,
  42        0xf20b, 0xf601, 0xf602, 0xf117, 0xf600, 0xf20a, 0xf115, 0xf116,
  43        0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
  44        0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
  45};
  46
  47static unsigned short altgr_map[NR_KEYS] = {
  48        0xf200, 0xf200, 0xf200, 0xf040, 0xf200, 0xf024, 0xf200, 0xf200,
  49        0xf07b, 0xf05b, 0xf05d, 0xf07d, 0xf05c, 0xf200, 0xf200, 0xf200,
  50        0xfb71, 0xfb77, 0xf918, 0xfb72, 0xfb74, 0xfb79, 0xfb75, 0xfb69,
  51        0xfb6f, 0xfb70, 0xf200, 0xf07e, 0xf201, 0xf702, 0xf914, 0xfb73,
  52        0xf917, 0xf919, 0xfb67, 0xfb68, 0xfb6a, 0xfb6b, 0xfb6c, 0xf200,
  53        0xf200, 0xf200, 0xf700, 0xf200, 0xfb7a, 0xfb78, 0xf916, 0xfb76,
  54        0xf915, 0xfb6e, 0xfb6d, 0xf200, 0xf200, 0xf200, 0xf700, 0xf30c,
  55        0xf703, 0xf200, 0xf207, 0xf50c, 0xf50d, 0xf50e, 0xf50f, 0xf510,
  56        0xf511, 0xf512, 0xf513, 0xf514, 0xf515, 0xf208, 0xf202, 0xf911,
  57        0xf912, 0xf913, 0xf30b, 0xf90e, 0xf90f, 0xf910, 0xf30a, 0xf90b,
  58        0xf90c, 0xf90d, 0xf90a, 0xf310, 0xf206, 0xf200, 0xf07c, 0xf516,
  59        0xf517, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
  60        0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf114, 0xf603,
  61        0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
  62        0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
  63        0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
  64};
  65
  66static unsigned short ctrl_map[NR_KEYS] = {
  67        0xf200, 0xf200, 0xf200, 0xf000, 0xf01b, 0xf01c, 0xf01d, 0xf01e,
  68        0xf01f, 0xf07f, 0xf200, 0xf200, 0xf01f, 0xf200, 0xf008, 0xf200,
  69        0xf011, 0xf017, 0xf005, 0xf012, 0xf014, 0xf019, 0xf015, 0xf009,
  70        0xf00f, 0xf010, 0xf01b, 0xf01d, 0xf201, 0xf702, 0xf001, 0xf013,
  71        0xf004, 0xf006, 0xf007, 0xf008, 0xf00a, 0xf00b, 0xf00c, 0xf200,
  72        0xf007, 0xf000, 0xf700, 0xf01c, 0xf01a, 0xf018, 0xf003, 0xf016,
  73        0xf002, 0xf00e, 0xf00d, 0xf200, 0xf20e, 0xf07f, 0xf700, 0xf30c,
  74        0xf703, 0xf000, 0xf207, 0xf100, 0xf101, 0xf102, 0xf103, 0xf104,
  75        0xf105, 0xf106, 0xf107, 0xf108, 0xf109, 0xf208, 0xf204, 0xf307,
  76        0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
  77        0xf302, 0xf303, 0xf300, 0xf310, 0xf206, 0xf200, 0xf200, 0xf10a,
  78        0xf10b, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
  79        0xf30e, 0xf702, 0xf30d, 0xf01c, 0xf701, 0xf205, 0xf114, 0xf603,
  80        0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
  81        0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
  82        0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
  83};
  84
  85static unsigned short shift_ctrl_map[NR_KEYS] = {
  86        0xf200, 0xf200, 0xf200, 0xf000, 0xf200, 0xf200, 0xf200, 0xf200,
  87        0xf200, 0xf200, 0xf200, 0xf200, 0xf01f, 0xf200, 0xf200, 0xf200,
  88        0xf011, 0xf017, 0xf005, 0xf012, 0xf014, 0xf019, 0xf015, 0xf009,
  89        0xf00f, 0xf010, 0xf200, 0xf200, 0xf201, 0xf702, 0xf001, 0xf013,
  90        0xf004, 0xf006, 0xf007, 0xf008, 0xf00a, 0xf00b, 0xf00c, 0xf200,
  91        0xf200, 0xf200, 0xf700, 0xf200, 0xf01a, 0xf018, 0xf003, 0xf016,
  92        0xf002, 0xf00e, 0xf00d, 0xf200, 0xf200, 0xf200, 0xf700, 0xf30c,
  93        0xf703, 0xf200, 0xf207, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
  94        0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf208, 0xf200, 0xf307,
  95        0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
  96        0xf302, 0xf303, 0xf300, 0xf310, 0xf206, 0xf200, 0xf200, 0xf200,
  97        0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
  98        0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf114, 0xf603,
  99        0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
 100        0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
 101        0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
 102};
 103
 104static unsigned short alt_map[NR_KEYS] = {
 105        0xf200, 0xf81b, 0xf831, 0xf832, 0xf833, 0xf834, 0xf835, 0xf836,
 106        0xf837, 0xf838, 0xf839, 0xf830, 0xf82d, 0xf83d, 0xf87f, 0xf809,
 107        0xf871, 0xf877, 0xf865, 0xf872, 0xf874, 0xf879, 0xf875, 0xf869,
 108        0xf86f, 0xf870, 0xf85b, 0xf85d, 0xf80d, 0xf702, 0xf861, 0xf873,
 109        0xf864, 0xf866, 0xf867, 0xf868, 0xf86a, 0xf86b, 0xf86c, 0xf83b,
 110        0xf827, 0xf860, 0xf700, 0xf85c, 0xf87a, 0xf878, 0xf863, 0xf876,
 111        0xf862, 0xf86e, 0xf86d, 0xf82c, 0xf82e, 0xf82f, 0xf700, 0xf30c,
 112        0xf703, 0xf820, 0xf207, 0xf500, 0xf501, 0xf502, 0xf503, 0xf504,
 113        0xf505, 0xf506, 0xf507, 0xf508, 0xf509, 0xf208, 0xf209, 0xf907,
 114        0xf908, 0xf909, 0xf30b, 0xf904, 0xf905, 0xf906, 0xf30a, 0xf901,
 115        0xf902, 0xf903, 0xf900, 0xf310, 0xf206, 0xf200, 0xf83c, 0xf50a,
 116        0xf50b, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
 117        0xf30e, 0xf702, 0xf30d, 0xf01c, 0xf701, 0xf205, 0xf114, 0xf603,
 118        0xf118, 0xf210, 0xf211, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
 119        0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
 120        0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
 121};
 122
 123static unsigned short ctrl_alt_map[NR_KEYS] = {
 124        0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
 125        0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
 126        0xf811, 0xf817, 0xf805, 0xf812, 0xf814, 0xf819, 0xf815, 0xf809,
 127        0xf80f, 0xf810, 0xf200, 0xf200, 0xf201, 0xf702, 0xf801, 0xf813,
 128        0xf804, 0xf806, 0xf807, 0xf808, 0xf80a, 0xf80b, 0xf80c, 0xf200,
 129        0xf200, 0xf200, 0xf700, 0xf200, 0xf81a, 0xf818, 0xf803, 0xf816,
 130        0xf802, 0xf80e, 0xf80d, 0xf200, 0xf200, 0xf200, 0xf700, 0xf30c,
 131        0xf703, 0xf200, 0xf207, 0xf500, 0xf501, 0xf502, 0xf503, 0xf504,
 132        0xf505, 0xf506, 0xf507, 0xf508, 0xf509, 0xf208, 0xf200, 0xf307,
 133        0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
 134        0xf302, 0xf303, 0xf300, 0xf20c, 0xf206, 0xf200, 0xf200, 0xf50a,
 135        0xf50b, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
 136        0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf114, 0xf603,
 137        0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf20c,
 138        0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
 139        0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
 140};
 141
 142ushort *key_maps[MAX_NR_KEYMAPS] = {
 143        plain_map, shift_map, altgr_map, NULL,
 144        ctrl_map, shift_ctrl_map, NULL, NULL,
 145        alt_map, NULL, NULL, NULL,
 146        ctrl_alt_map, NULL
 147};
 148
 149unsigned int keymap_count = 7;
 150
 151/*
 152 * Philosophy: most people do not define more strings, but they who do
 153 * often want quite a lot of string space. So, we statically allocate
 154 * the default and allocate dynamically in chunks of 512 bytes.
 155 */
 156
 157char func_buf[] = {
 158        '\033', '[', '[', 'A', 0, 
 159        '\033', '[', '[', 'B', 0, 
 160        '\033', '[', '[', 'C', 0, 
 161        '\033', '[', '[', 'D', 0, 
 162        '\033', '[', '[', 'E', 0, 
 163        '\033', '[', '1', '7', '~', 0, 
 164        '\033', '[', '1', '8', '~', 0, 
 165        '\033', '[', '1', '9', '~', 0, 
 166        '\033', '[', '2', '0', '~', 0, 
 167        '\033', '[', '2', '1', '~', 0, 
 168        '\033', '[', '2', '3', '~', 0, 
 169        '\033', '[', '2', '4', '~', 0, 
 170        '\033', '[', '2', '5', '~', 0, 
 171        '\033', '[', '2', '6', '~', 0, 
 172        '\033', '[', '2', '8', '~', 0, 
 173        '\033', '[', '2', '9', '~', 0, 
 174        '\033', '[', '3', '1', '~', 0, 
 175        '\033', '[', '3', '2', '~', 0, 
 176        '\033', '[', '3', '3', '~', 0, 
 177        '\033', '[', '3', '4', '~', 0, 
 178        '\033', '[', '1', '~', 0, 
 179        '\033', '[', '2', '~', 0, 
 180        '\033', '[', '3', '~', 0, 
 181        '\033', '[', '4', '~', 0, 
 182        '\033', '[', '5', '~', 0, 
 183        '\033', '[', '6', '~', 0, 
 184        '\033', '[', 'M', 0, 
 185        '\033', '[', 'P', 0, 
 186};
 187
 188char *funcbufptr = func_buf;
 189int funcbufsize = sizeof(func_buf);
 190int funcbufleft = 0;          /* space left */
 191
 192char *func_table[MAX_NR_FUNC] = {
 193        func_buf + 0,
 194        func_buf + 5,
 195        func_buf + 10,
 196        func_buf + 15,
 197        func_buf + 20,
 198        func_buf + 25,
 199        func_buf + 31,
 200        func_buf + 37,
 201        func_buf + 43,
 202        func_buf + 49,
 203        func_buf + 55,
 204        func_buf + 61,
 205        func_buf + 67,
 206        func_buf + 73,
 207        func_buf + 79,
 208        func_buf + 85,
 209        func_buf + 91,
 210        func_buf + 97,
 211        func_buf + 103,
 212        func_buf + 109,
 213        func_buf + 115,
 214        func_buf + 120,
 215        func_buf + 125,
 216        func_buf + 130,
 217        func_buf + 135,
 218        func_buf + 140,
 219        func_buf + 145,
 220        NULL,
 221        NULL,
 222        func_buf + 149,
 223        NULL,
 224};
 225
 226struct kbdiacruc accent_table[MAX_DIACR] = {
 227        {'`', 'A', 0x00c0},     {'`', 'a', 0x00e0},
 228        {'\'', 'A', 0x00c1},    {'\'', 'a', 0x00e1},
 229        {'^', 'A', 0x00c2},     {'^', 'a', 0x00e2},
 230        {'~', 'A', 0x00c3},     {'~', 'a', 0x00e3},
 231        {'"', 'A', 0x00c4},     {'"', 'a', 0x00e4},
 232        {'O', 'A', 0x00c5},     {'o', 'a', 0x00e5},
 233        {'0', 'A', 0x00c5},     {'0', 'a', 0x00e5},
 234        {'A', 'A', 0x00c5},     {'a', 'a', 0x00e5},
 235        {'A', 'E', 0x00c6},     {'a', 'e', 0x00e6},
 236        {',', 'C', 0x00c7},     {',', 'c', 0x00e7},
 237        {'`', 'E', 0x00c8},     {'`', 'e', 0x00e8},
 238        {'\'', 'E', 0x00c9},    {'\'', 'e', 0x00e9},
 239        {'^', 'E', 0x00ca},     {'^', 'e', 0x00ea},
 240        {'"', 'E', 0x00cb},     {'"', 'e', 0x00eb},
 241        {'`', 'I', 0x00cc},     {'`', 'i', 0x00ec},
 242        {'\'', 'I', 0x00cd},    {'\'', 'i', 0x00ed},
 243        {'^', 'I', 0x00ce},     {'^', 'i', 0x00ee},
 244        {'"', 'I', 0x00cf},     {'"', 'i', 0x00ef},
 245        {'-', 'D', 0x00d0},     {'-', 'd', 0x00f0},
 246        {'~', 'N', 0x00d1},     {'~', 'n', 0x00f1},
 247        {'`', 'O', 0x00d2},     {'`', 'o', 0x00f2},
 248        {'\'', 'O', 0x00d3},    {'\'', 'o', 0x00f3},
 249        {'^', 'O', 0x00d4},     {'^', 'o', 0x00f4},
 250        {'~', 'O', 0x00d5},     {'~', 'o', 0x00f5},
 251        {'"', 'O', 0x00d6},     {'"', 'o', 0x00f6},
 252        {'/', 'O', 0x00d8},     {'/', 'o', 0x00f8},
 253        {'`', 'U', 0x00d9},     {'`', 'u', 0x00f9},
 254        {'\'', 'U', 0x00da},    {'\'', 'u', 0x00fa},
 255        {'^', 'U', 0x00db},     {'^', 'u', 0x00fb},
 256        {'"', 'U', 0x00dc},     {'"', 'u', 0x00fc},
 257        {'\'', 'Y', 0x00dd},    {'\'', 'y', 0x00fd},
 258        {'T', 'H', 0x00de},     {'t', 'h', 0x00fe},
 259        {'s', 's', 0x00df},     {'"', 'y', 0x00ff},
 260        {'s', 'z', 0x00df},     {'i', 'j', 0x00ff},
 261};
 262
 263unsigned int accent_table_size = 68;
 264