OpenCores
URL https://opencores.org/ocsvn/s80186/s80186/trunk

Subversion Repositories s80186

[/] [s80186/] [trunk/] [bios/] [scancodes.h] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 jamieiles
// Copyright Jamie Iles, 2017
2
//
3
// This file is part of s80x86.
4
//
5
// s80x86 is free software: you can redistribute it and/or modify
6
// it under the terms of the GNU General Public License as published by
7
// the Free Software Foundation, either version 3 of the License, or
8
// (at your option) any later version.
9
//
10
// s80x86 is distributed in the hope that it will be useful,
11
// but WITHOUT ANY WARRANTY; without even the implied warranty of
12
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
// GNU General Public License for more details.
14
//
15
// You should have received a copy of the GNU General Public License
16
// along with s80x86.  If not, see <http://www.gnu.org/licenses/>.
17
 
18
#pragma once
19
 
20
struct keydef {
21
    unsigned short normal;
22
    unsigned short shifted;
23
    unsigned short ctrl;
24
    unsigned short alt;
25
};
26
 
27
static const struct keydef keycode_map[] = {
28
        [0x1c] = {0x1E61, 0x1E41, 0x1E01, 0x1E00},
29
        [0x32] = {0x3062, 0x3042, 0x3002, 0x3000},
30
        [0x21] = {0x2E63, 0x2E43, 0x2E03, 0x2E00},
31
        [0x23] = {0x2064, 0x2044, 0x2004, 0x2000},
32
        [0x24] = {0x1265, 0x1245, 0x1205, 0x1200},
33
        [0x2b] = {0x2166, 0x2146, 0x2106, 0x2100},
34
        [0x34] = {0x2267, 0x2247, 0x2207, 0x2200},
35
        [0x33] = {0x2368, 0x2348, 0x2308, 0x2300},
36
        [0x43] = {0x1769, 0x1749, 0x1709, 0x1700},
37
        [0x3b] = {0x246A, 0x244A, 0x240A, 0x2400},
38
        [0x42] = {0x256B, 0x254B, 0x250B, 0x2500},
39
        [0x4b] = {0x266C, 0x264C, 0x260C, 0x2600},
40
        [0x3a] = {0x326D, 0x324D, 0x320D, 0x3200},
41
        [0x31] = {0x316E, 0x314E, 0x310E, 0x3100},
42
        [0x44] = {0x186F, 0x184F, 0x180F, 0x1800},
43
        [0x4d] = {0x1970, 0x1950, 0x1910, 0x1900},
44
        [0x15] = {0x1071, 0x1051, 0x1011, 0x1000},
45
        [0x2d] = {0x1372, 0x1352, 0x1312, 0x1300},
46
        [0x1b] = {0x1F73, 0x1F53, 0x1F13, 0x1F00},
47
        [0x2c] = {0x1474, 0x1454, 0x1414, 0x1400},
48
        [0x3c] = {0x1675, 0x1655, 0x1615, 0x1600},
49
        [0x2a] = {0x2F76, 0x2F56, 0x2F16, 0x2F00},
50
        [0x1d] = {0x1177, 0x1157, 0x1117, 0x1100},
51
        [0x22] = {0x2D78, 0x2D58, 0x2D18, 0x2D00},
52
        [0x35] = {0x1579, 0x1559, 0x1519, 0x1500},
53
        [0x1a] = {0x2C7A, 0x2C5A, 0x2C1A, 0x2C00},
54
        [0x16] = {0x0231, 0x0221, 0x0231, 0x7800},
55
        [0x1e] = {0x0332, 0x0340, 0x0300, 0x7900},
56
        [0x26] = {0x0433, 0x0423, 0x0433, 0x7A00},
57
        [0x25] = {0x0534, 0x0524, 0x0534, 0x7B00},
58
        [0x2e] = {0x0635, 0x0625, 0x0635, 0x7C00},
59
        [0x36] = {0x0736, 0x075E, 0x071E, 0x7D00},
60
        [0x3d] = {0x0837, 0x0826, 0x0837, 0x7E00},
61
        [0x3e] = {0x0938, 0x092A, 0x0938, 0x7F00},
62
        [0x46] = {0x0A39, 0x0A28, 0x0a39, 0x8000},
63
        [0x45] = {0x0B30, 0x0B29, 0x0b30, 0x8100},
64
        [0x4e] = {0x0C2D, 0x0C5F, 0x0C1F, 0x8200},
65
        [0x55] = {0x0D3D, 0x0D2B, 0x0d2b, 0x8300},
66
        [0x54] = {0x1A5B, 0x1A7B, 0x1A1B, 0x1A00},
67
        [0x5b] = {0x1B5D, 0x1B7D, 0x1B1D, 0x1B00},
68
        [0x4c] = {0x273B, 0x273A, 0x273b, 0x2700},
69
        [0x52] = {0x2827, 0x2822, 0x2827, 0x2827},
70
        [0x0e] = {0x2960, 0x297E, 0x2960, 0x2960},
71
        [0x5d] = {0x2B5C, 0x2B7C, 0x2B1C, 0x2600},
72
        [0x41] = {0x332C, 0x333C, 0x332c, 0x332c},
73
        [0x49] = {0x342E, 0x343E, 0x342e, 0x342e},
74
        [0x4a] = {0x352F, 0x353F, 0x352f, 0x352f},
75
        [0x05] = {0x3B00, 0x5400, 0x5E00, 0x6800},
76
        [0x06] = {0x3C00, 0x5500, 0x5F00, 0x6900},
77
        [0x04] = {0x3D00, 0x5600, 0x6000, 0x6A00},
78
        [0x0c] = {0x3E00, 0x5700, 0x6100, 0x6B00},
79
        [0x03] = {0x3F00, 0x5800, 0x6200, 0x6C00},
80
        [0x0b] = {0x4000, 0x5900, 0x6300, 0x6D00},
81
        [0x83] = {0x4100, 0x5A00, 0x6400, 0x6E00},
82
        [0x0a] = {0x4200, 0x5B00, 0x6500, 0x6F00},
83
        [0x01] = {0x4300, 0x5C00, 0x6600, 0x7000},
84
        [0x09] = {0x4400, 0x5D00, 0x6700, 0x7100},
85
        [0x78] = {0x8500, 0x8700, 0x8900, 0x8B00},
86
        [0x07] = {0x8600, 0x8800, 0x8A00, 0x8C00},
87
        [0x66] = {0x0E08, 0x0E08, 0x0E7F, 0x0E00},
88
        [0x5a] = {0x1C0D, 0x1C0D, 0x1C0A, 0xA600},
89
        [0x76] = {0x011B, 0x011B, 0x011B, 0x0100},
90
        [0x29] = {0x3920, 0x3920, 0x3920, 0x3920},
91
        [0x0d] = {0x0F09, 0x0F00, 0x9400, 0xA500},
92
};
93
 
94
static const struct keydef extended_keycode_map[] = {
95
        [0x71] = {0x5300, 0x532E, 0x9300, 0xA300},
96
        [0x72] = {0x5000, 0x5032, 0x9100, 0xA000},
97
        [0x69] = {0x4F00, 0x4F31, 0x7500, 0x9F00},
98
        [0x6c] = {0x4700, 0x4737, 0x7700, 0x9700},
99
        [0x70] = {0x5200, 0x5230, 0x9200, 0xA200},
100
        [0x6b] = {0x4B00, 0x4B34, 0x7300, 0x9B00},
101
        [0x7a] = {0x5100, 0x5133, 0x7600, 0xA100},
102
        [0x7d] = {0x4900, 0x4939, 0x8400, 0x9900},
103
        [0x74] = {0x4D00, 0x4D36, 0x7400, 0x9D00},
104
        [0x75] = {0x4800, 0x4838, 0x8D00, 0x9800},
105
};

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.