-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathkeydeftr.h
210 lines (182 loc) · 7.59 KB
/
keydeftr.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
/* keydeftr.h */
/*
* history
* 17 apr 22: davide bresolin - creation
*/
#define NAME(x) x##_TR
#include <dos.h>
#include "mkeyb.h"
#define LANGUAGE "turkish-q"
#define STATUS "by Davide"
#define COMBI
/********************************************************
* TURKISH Q keyboard mappings *
********************************************************/
/* keyboard image (by arkady)
Standard layout characters+scancodes:
ÉÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÑÍÍÍÍÍÍÍÍÍ»
º~29³!02³@03³#04³$05³%06³^07³&08³*09³(0A³)0B³-0C³=0D³Backsp 0Eº
ÇÄÄÄÁÄÄÂÁÄÄÂÁÄÄÂÁÄÄÂÁÄÄÂÁÄÄÂÁÄÄÂÁÄÄÂÁÄÄÂÁÄÄÂÁÄÄÂÁÄÄÂÁÄÄÂÄÄÄÄÄĶ
ºTab 0F³q10³w11³e12³r13³t14³y15³u16³i17³o18³p19³[1A³]1B³ º
ÇÄÄÄÄÄÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÙ <ÄÄÙ º
º Caps 3A³a1E³s1F³d20³f21³g22³h23³j24³k25³l26³;27³'28³Enter 1Cº
ÇÄÄÄÄÄÄÄÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÄÄÄÄÄÄĶ
º Shift 2A ³z2C³x2D³c2E³v2F³b30³n31³m32³,33³.34³/35³ Shift 36 º
ÇÄÄÄÄÄÄÄÄÂÄÁÄÄÄÁÄÂÄÁÄÂÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÂÄÁÄÂÄÁÄÄÄÁÄÂÄÄÄÄÄÄÄĶ
º Ctrl 1D³ Alt 38³\56³ Spacebar 39 ³\2B³Alt E38³Ctrl E1Dº
ÈÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÏÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÏÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍͼ
*/
/* Created from the Turkish Q Layout at http://kbdlayout.info/kbdtuq
Codepage: 857
Changes from US layout. An extra '@' at the end is a COMBI key
Code US Norm Shift AltGr AltGr+Shift
----------------------------------------------------------------
02 1 1 ! > // DIGIT ONE, EXCLAMATION MARK, GREATER-THAN SIGN
03 2 2 ' 0x9C // DIGIT TWO, APOSTROPHE, POUND SIGN
04 3 3 ^@ # // DIGIT THREE, CIRCUMFLEX ACCENT, NUMBER SIGN
05 4 4 + $ // DIGIT FOUR, PLUS SIGN, DOLLAR SIGN
06 5 5 % 0xAB // DIGIT FIVE, PERCENT SIGN, VULGAR FRACTION ONE HALF
07 6 6 & // DIGIT SIX, AMPERSAND
08 7 7 / { // DIGIT SEVEN, SOLIDUS, LEFT CURLY BRACKET
09 8 8 ( [ // DIGIT EIGHT, LEFT PARENTHESIS, LEFT SQUARE BRACKET
0a 9 9 ) ] // DIGIT NINE, RIGHT PARENTHESIS, RIGHT SQUARE BRACKET
0b 0 0 = } // DIGIT ZERO, EQUALS SIGN, RIGHT CURLY BRACKET
0c - * ? \ // ASTERISK, QUESTION MARK, REVERSE SOLIDUS
0d = - _ | // HYPHEN-MINUS, LOW LINE, VERTICAL LINE
10 Q q Q @ // LATIN SMALL LETTER Q, LATIN CAPITAL LETTER Q, COMMERCIAL AT
12 E e E 0xD5 // LATIN SMALL LETTER E, LATIN CAPITAL LETTER E, EURO SIGN
17 I 0x8D I i 0x98 // LATIN SMALL LETTER DOTLESS I, LATIN CAPITAL LETTER I, LATIN SMALL LETTER I, LATIN CAPITAL LETTER I WITH DOT ABOVE
1a [ 0xA7 0xA8 0xF9@ // LATIN SMALL LETTER G WITH BREVE, LATIN CAPITAL LETTER G WITH BREVE, DIAERESIS
1b ] 0x81 0x9A ~@ // LATIN SMALL LETTER U WITH DIAERESIS, LATIN CAPITAL LETTER U WITH DIAERESIS, TILDE
1e A a A 0x91 0x92 // LATIN SMALL LETTER A, LATIN CAPITAL LETTER A, LATIN SMALL LETTER AE, LATIN CAPITAL LETTER AE
1f S s S 0xE1 // LATIN SMALL LETTER S, LATIN CAPITAL LETTER S, LATIN SMALL LETTER SHARP S
27 ; 0x9F 0x9E 0xEF@ // LATIN SMALL LETTER S WITH CEDILLA, LATIN CAPITAL LETTER S WITH CEDILLA, ACUTE ACCENT
28 ' i 0x98 // LATIN SMALL LETTER I, LATIN CAPITAL LETTER I WITH DOT ABOVE
29 ` " 0x82 < // QUOTATION MARK, LATIN SMALL LETTER E WITH ACUTE, LESS-THAN SIGN
2b , ; `@ // COMMA, SEMICOLON, GRAVE ACCENT
33 , 0x94 0x99 // LATIN SMALL LETTER O WITH DIAERESIS, LATIN CAPITAL LETTER O WITH DIAERESIS
34 . 0x87 0x80 // LATIN SMALL LETTER C WITH CEDILLA, LATIN CAPITAL LETTER C WITH CEDILLA
35 / . : // FULL STOP, COLON
56 \ < > | // LESS-THAN SIGN, GREATER-THAN SIGN, VERTICAL LINE
*/
uchar NAME(scancodetable)[] = {
/* ` */ PUNCT_ALTGR (0x29, '"', 0x82, '<' )
/* 1 */ PUNCT_ALTGR (0x02, '1', '!', '>' )
/* 2 */ PUNCT_ALTGR (0x03, '2', '\'', 0x9C )
#ifdef COMBI
/* 3 */ PUNCT_ALTGR (0x04, '3', COMBI1, '#' )
#else
/* 3 */ PUNCT_ALTGR (0x04, '3', '^', '#' )
#endif
/* 4 */ PUNCT_ALTGR (0x05, '4', '+', '$' )
/* 5 */ PUNCT_ALTGR (0x06, '5', '%', 0xAB )
/* 6 */ PUNCT (0x07, '6', '&' )
/* 7 */ PUNCT_ALTGR (0x08, '7', '/', '{' )
/* 8 */ PUNCT_ALTGR (0x09, '8', '(', '[' )
/* 9 */ PUNCT_ALTGR (0x0a, '9', ')', ']' )
/* 0 */ PUNCT_ALTGR (0x0b, '0', '=', '}' )
/* - */ PUNCT_ALTGR (0x0c, '*', '?', '\\' )
/* = */ PUNCT_ALTGR (0x0d, '-', '_', '|' )
/* Q */ ALPHA_ALTGR (0x10, 'q', 'Q', '@' )
/* E */ ALPHA_ALTGR (0x12, 'e', 'E', 0xD5 )
/* I */ ALPHA_ALTGRSHIFT(0x17, 0x8D, 'I', 'i', 0x98)
#ifdef COMBI
/* [ */ ALPHA_ALTGR (0x1a, 0xA7, 0xA6, COMBI2)
/* ] */ ALPHA_ALTGR (0x1b, 0x81, 0x9A, COMBI3)
#else
/* [ */ ALPHA_ALTGR (0x1a, 0xA7, 0xA6, 0xF9 )
/* ] */ ALPHA_ALTGR (0x1b, 0x81, 0x9A, '~' )
#endif
/* A */ ALTGRSHIFT (0x1e, 0x91, 0x92)
/* S */ ALPHA_ALTGR (0x1f, 's', 'S', 0xE1 )
#ifdef COMBI
/* ; */ ALPHA_ALTGR (0x27, 0x9F, 0x9E, COMBI4)
/* */ PUNCT_ALTGR (0x2b, ',', ';', COMBI5)
#else
/* ; */ ALPHA_ALTGR (0x27, 0x9F, 0x9E, 0xEF )
/* */ PUNCT_ALTGR (0x2b, ',', ';', '`' )
#endif
/* ' */ ALPHA (0x28, 'i', 0x98 )
/* , */ ALPHA (0x33, 0x94, 0x99 )
/* . */ ALPHA (0x34, 0x87, 0x80 )
/* / */ PUNCT (0x35, '.', ':' )
/* \ */ PUNCT_ALTGR (0x56, '<', '>', '|' )
0
};
/*
These keys are generated on a COMBI+character base.
Some of them are correct only for codepage 857, since
the standard 437 codepage doesn't have all accented characters
*/
#ifdef COMBI
uchar NAME(combi1table)[] = { /* CIRCUMFLEX ACCENT */
/*scancode lower upper*/
/* A */ 0x1E, 0x83, 0xB6,
/* E */ 0x12, 0x88, 0xD2,
/* I */ 0x17, 0x8C, 0xD7,
/* i */ 0x28, 0x8C, 0xD7,
/* O */ 0x18, 0x93, 0xE2,
/* U */ 0x16, 0x96, 0xEA,
/* */ 0x39, '^', '^', /* and additional generated character */
0
};
uchar NAME(combi2table)[] = { /* DIAERESIS */
/*scancode lower upper*/
/* A */ 0x1E, 0x84, 0x8E,
/* E */ 0x12, 0x89, 0xD3,
/* I */ 0x17, 0x8B, 0xD8,
/* i */ 0x28, 0x8B, 0xD8,
/* O */ 0x18, 0x94, 0x99,
/* U */ 0x16, 0x81, 0x9A,
/* */ 0x39, 0xF9, 0xF9, /* and additional generated character */
0
};
uchar NAME(combi3table)[] = { /* TILDE */
/*scancode lower upper*/
/* A */ 0x1E, 0xC6, 0xC7,
/* O */ 0x18, 0xE4, 0xE5,
/* N */ 0x31, 0xA4, 0xA5,
/* */ 0x39, '~', '~', /* and additional generated character */
0
};
uchar NAME(combi4table)[] = { /* ACUTE ACCENT */
/*scancode lower upper*/
/* A */ 0x1E, 0xA0, 0xB5,
/* E */ 0x12, 0x82, 0x90,
/* I */ 0x17, 0xA1, 0xD6,
/* i */ 0x28, 0xA1, 0xD6,
/* O */ 0x18, 0xA2, 0xE0,
/* U */ 0x16, 0xA3, 0xE9,
/* */ 0x39, 0xEF, 0xEF, /* and additional generated character */
0
};
uchar NAME(combi5table)[] = { /* GRAVE ACCENT */
/*scancode lower upper*/
/* A */ 0x1E, 0x85, 0xB7,
/* E */ 0x12, 0x8A, 0xD4,
/* I */ 0x17, 0xEC, 0xDE,
/* i */ 0x28, 0xEC, 0xDE,
/* O */ 0x18, 0x95, 0xE3,
/* U */ 0x16, 0x97, 0xEB,
/* */ 0x39, '`', '`', /* and additional generated character */
0
};
uchar NAME(combi6table)[] = {
/*scancode lower upper*/
0
};
#endif
struct KeyboardDefinition NAME(Keyboard) = {
"TR", //char LanguageShort[4]; // "GR",
"TURKISH - Q with combis (by Davide, verified by W. Spiegl, @cardpuncher)", //char *Description; // created by, "with combis"
DRIVER_FUNCTION_FULL, //char DriverFunctionRequired;
NAME(scancodetable), //char *ScancodeTable;
#ifdef COMBI
{ NAME(combi1table),NAME(combi2table),NAME(combi3table),
NAME(combi4table),NAME(combi5table),NAME(combi6table) },
#else
{ 0 },
#endif
',', //char DezimalDingsbums;
0, //char DefaultLayoutUS; // TRUE for russian
} ;