blob: 60845d467a1bc0b82601103ba2b675622086d697 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001// SPDX-License-Identifier: GPL-2.0
Linus Torvalds1da177e2005-04-16 15:20:36 -07002
3/* Do not edit this file! It was automatically generated by */
4/* loadkeys --mktable defkeymap.map > defkeymap.c */
5
6#include <linux/types.h>
7#include <linux/keyboard.h>
8#include <linux/kd.h>
Heiko Carstens2b67fc42007-02-05 21:16:47 +01009#include <linux/kbd_kern.h>
10#include <linux/kbd_diacr.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070011
Farhan Aliaa0f2dd2018-02-22 11:22:23 -050012#include "keyboard.h"
13
14u_short ebc_plain_map[NR_KEYS] = {
Linus Torvalds1da177e2005-04-16 15:20:36 -070015 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000,
16 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000,
17 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000,
18 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000,
19 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000,
20 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000,
21 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000,
22 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000,
23 0xf020, 0xf000, 0xf0e2, 0xf0e4, 0xf0e0, 0xf0e1, 0xf0e3, 0xf0e5,
24 0xf0e7, 0xf0f1, 0xf0a2, 0xf02e, 0xf03c, 0xf028, 0xf02b, 0xf07c,
25 0xf026, 0xf0e9, 0xf0e2, 0xf0eb, 0xf0e8, 0xf0ed, 0xf0ee, 0xf0ef,
26 0xf0ec, 0xf0df, 0xf021, 0xf024, 0xf02a, 0xf029, 0xf03b, 0xf0ac,
27 0xf02d, 0xf02f, 0xf0c2, 0xf0c4, 0xf0c0, 0xf0c1, 0xf0c3, 0xf0c5,
28 0xf0c7, 0xf0d1, 0xf0a6, 0xf02c, 0xf025, 0xf05f, 0xf03e, 0xf03f,
29 0xf0f8, 0xf0c9, 0xf0ca, 0xf0cb, 0xf0c8, 0xf0cd, 0xf0ce, 0xf0cf,
30 0xf0cc, 0xf060, 0xf03a, 0xf023, 0xf040, 0xf027, 0xf03d, 0xf022,
31};
32
33static u_short shift_map[NR_KEYS] = {
34 0xf0d8, 0xf061, 0xf062, 0xf063, 0xf064, 0xf065, 0xf066, 0xf067,
35 0xf068, 0xf069, 0xf0ab, 0xf0bb, 0xf0f0, 0xf0fd, 0xf0fe, 0xf0b1,
36 0xf0b0, 0xf06a, 0xf06b, 0xf06c, 0xf06d, 0xf06e, 0xf06f, 0xf070,
37 0xf071, 0xf072, 0xf000, 0xf000, 0xf0e6, 0xf0b8, 0xf0c6, 0xf0a4,
38 0xf0b5, 0xf07e, 0xf073, 0xf074, 0xf075, 0xf076, 0xf077, 0xf078,
39 0xf079, 0xf07a, 0xf0a1, 0xf0bf, 0xf0d0, 0xf0dd, 0xf0de, 0xf0ae,
40 0xf402, 0xf0a3, 0xf0a5, 0xf0b7, 0xf0a9, 0xf0a7, 0xf0b6, 0xf0bc,
41 0xf0bd, 0xf0be, 0xf05b, 0xf05d, 0xf000, 0xf0a8, 0xf0b4, 0xf0d7,
42 0xf07b, 0xf041, 0xf042, 0xf043, 0xf044, 0xf045, 0xf046, 0xf047,
43 0xf048, 0xf049, 0xf000, 0xf0f4, 0xf0f6, 0xf0f2, 0xf0f3, 0xf0f5,
44 0xf07d, 0xf04a, 0xf04b, 0xf04c, 0xf04d, 0xf04e, 0xf04f, 0xf050,
45 0xf051, 0xf052, 0xf0b9, 0xf0fb, 0xf0fc, 0xf0f9, 0xf0fa, 0xf0ff,
46 0xf05c, 0xf0f7, 0xf053, 0xf054, 0xf055, 0xf056, 0xf057, 0xf058,
47 0xf059, 0xf05a, 0xf0b2, 0xf0d4, 0xf0d6, 0xf0d2, 0xf0d3, 0xf0d5,
48 0xf030, 0xf031, 0xf032, 0xf033, 0xf034, 0xf035, 0xf036, 0xf037,
49 0xf038, 0xf039, 0xf0b3, 0xf0db, 0xf0dc, 0xf0d9, 0xf0da, 0xf000,
50};
51
52static u_short ctrl_map[NR_KEYS] = {
53 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
54 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
55 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
56 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
57 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
58 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
59 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
60 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
61 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
62 0xf200, 0xf200, 0xf11f, 0xf120, 0xf121, 0xf200, 0xf200, 0xf200,
63 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
64 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
65 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
66 0xf200, 0xf200, 0xf200, 0xf01a, 0xf003, 0xf212, 0xf004, 0xf200,
67 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
68 0xf200, 0xf200, 0xf109, 0xf10a, 0xf206, 0xf00a, 0xf200, 0xf200,
69};
70
71static u_short shift_ctrl_map[NR_KEYS] = {
72 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
73 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
74 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
75 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
76 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
77 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
78 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
79 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
80 0xf200, 0xf10c, 0xf10d, 0xf10e, 0xf10f, 0xf110, 0xf111, 0xf112,
81 0xf113, 0xf11e, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
82 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
83 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
84 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
85 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
86 0xf200, 0xf100, 0xf101, 0xf211, 0xf103, 0xf104, 0xf105, 0xf20b,
87 0xf20a, 0xf108, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
88};
89
Farhan Aliaa0f2dd2018-02-22 11:22:23 -050090ushort *ebc_key_maps[MAX_NR_KEYMAPS] = {
91 ebc_plain_map, shift_map, NULL, NULL,
Heiko Carstensd2c993d2006-07-12 16:41:55 +020092 ctrl_map, shift_ctrl_map, NULL,
Linus Torvalds1da177e2005-04-16 15:20:36 -070093};
94
Farhan Aliaa0f2dd2018-02-22 11:22:23 -050095unsigned int ebc_keymap_count = 4;
Linus Torvalds1da177e2005-04-16 15:20:36 -070096
97
98/*
99 * Philosophy: most people do not define more strings, but they who do
100 * often want quite a lot of string space. So, we statically allocate
101 * the default and allocate dynamically in chunks of 512 bytes.
102 */
103
Farhan Aliaa0f2dd2018-02-22 11:22:23 -0500104char ebc_func_buf[] = {
Linus Torvalds1da177e2005-04-16 15:20:36 -0700105 '\033', '[', '[', 'A', 0,
106 '\033', '[', '[', 'B', 0,
107 '\033', '[', '[', 'C', 0,
108 '\033', '[', '[', 'D', 0,
109 '\033', '[', '[', 'E', 0,
110 '\033', '[', '1', '7', '~', 0,
111 '\033', '[', '1', '8', '~', 0,
112 '\033', '[', '1', '9', '~', 0,
113 '\033', '[', '2', '0', '~', 0,
114 '\033', '[', '2', '1', '~', 0,
115 '\033', '[', '2', '3', '~', 0,
116 '\033', '[', '2', '4', '~', 0,
117 '\033', '[', '2', '5', '~', 0,
118 '\033', '[', '2', '6', '~', 0,
119 '\033', '[', '2', '8', '~', 0,
120 '\033', '[', '2', '9', '~', 0,
121 '\033', '[', '3', '1', '~', 0,
122 '\033', '[', '3', '2', '~', 0,
123 '\033', '[', '3', '3', '~', 0,
124 '\033', '[', '3', '4', '~', 0,
125};
126
127
Farhan Aliaa0f2dd2018-02-22 11:22:23 -0500128char *ebc_funcbufptr = ebc_func_buf;
129int ebc_funcbufsize = sizeof(ebc_func_buf);
Christian Borntraegerc9f52c22018-02-28 08:26:40 +0000130int ebc_funcbufleft; /* space left */
Linus Torvalds1da177e2005-04-16 15:20:36 -0700131
Farhan Aliaa0f2dd2018-02-22 11:22:23 -0500132char *ebc_func_table[MAX_NR_FUNC] = {
133 ebc_func_buf + 0,
134 ebc_func_buf + 5,
135 ebc_func_buf + 10,
136 ebc_func_buf + 15,
137 ebc_func_buf + 20,
138 ebc_func_buf + 25,
139 ebc_func_buf + 31,
140 ebc_func_buf + 37,
141 ebc_func_buf + 43,
142 ebc_func_buf + 49,
143 ebc_func_buf + 55,
144 ebc_func_buf + 61,
145 ebc_func_buf + 67,
146 ebc_func_buf + 73,
147 ebc_func_buf + 79,
148 ebc_func_buf + 85,
149 ebc_func_buf + 91,
150 ebc_func_buf + 97,
151 ebc_func_buf + 103,
152 ebc_func_buf + 109,
Heiko Carstensd2c993d2006-07-12 16:41:55 +0200153 NULL,
Linus Torvalds1da177e2005-04-16 15:20:36 -0700154};
155
Farhan Aliaa0f2dd2018-02-22 11:22:23 -0500156struct kbdiacruc ebc_accent_table[MAX_DIACR] = {
Samuel Thibault5ce20872008-03-03 01:23:49 +0000157 {'^', 'c', 0003}, {'^', 'd', 0004},
Tony Breeds10a7f312008-03-04 16:05:06 +1100158 {'^', 'z', 0032}, {'^', 0012, 0000},
Linus Torvalds1da177e2005-04-16 15:20:36 -0700159};
160
Farhan Aliaa0f2dd2018-02-22 11:22:23 -0500161unsigned int ebc_accent_table_size = 4;