]> git.pld-linux.org Git - packages/dosemu.git/blame - dosemu-Polish_keyboard.patch
- added util-linux to BR
[packages/dosemu.git] / dosemu-Polish_keyboard.patch
CommitLineData
c9d5b18d 1--- dosemu-1.0.2/src/base/keyboard/keymaps.c Sun Mar 11 14:27:25 2001
2+++ dosemu-1.0.2.new/src/base/keyboard/keymaps.c Sun Dec 30 16:45:07 2001
3@@ -1374,6 +1374,7 @@
4 0};
5
6 /* Polish keyboard */
7+/*
8 CONST unsigned char key_map_pl[] =
9 {
10 0, 27, '1', '2', '3', '4', '5', '6',
11@@ -1421,6 +1422,55 @@
12 0, 0, 0, 0, 0, 0, '|', 0,
13 0, 0, 0, 0, 0, 0, 0, 0,
14 0};
15+*/
16+CONST unsigned char key_map_pl[] =
17+{
18+ 0,27,'1','2','3','4','5','6',
19+ '7','8','9','0','-','=',127,9,
20+ 'q','w','e','r','t','y','u','i',
21+ 'o','p','[',']',13,0,'a','s',
22+ 'd','f','g','h','j','k','l',';',
23+ 39,96,0,92,'z','x','c','v',
24+ 'b','n','m',',','.','/',0,'*',
25+ 0,32,0,0,0,0,0,0,
26+ 0,0,0,0,0,0,0,0,
27+ 0,0,'-',0,0,0,'+',0,
28+ 0,0,0,0,0,0,'<',0,
29+ 0,0,0,0,0,0,0,0,
30+ 0};
31+
32+CONST unsigned char shift_map_pl[] =
33+{
34+ 0,27,'!','@','#','$','%','^',
35+ '&','*','(',')','_','+',127,9,
36+ 'Q','W','E','R','T','Y','U','I',
37+ 'O','P','{','}',13,0,'A','S',
38+ 'D','F','G','H','J','K','L',':',
39+ 34,'~',0,'|','Z','X','C','V',
40+ 'B','N','M','<','>','?',0,'*',
41+ 0,32,0,0,0,0,0,0,
42+ 0,0,0,0,0,0,0,0,
43+ 0,0,'-',0,0,0,'+',0,
44+ 0,0,0,0,0,0,'>',0,
45+ 0,0,0,0,0,0,0,0,
46+ 0};
47+
48+CONST unsigned char alt_map_pl[] =
49+{
50+ 0,0,0,'@',0,0,0,0,
51+ 0,0,0,0,0,0,0,0,
52+ 0,0,DEAD_OGONEK,0,0,0,0,0,
53+ DEAD_ACUTE,0,0,0,0,0,DEAD_OGONEK,DEAD_ACUTE,
54+ 0,0,0,0,0,0,DEAD_STROKE,0,
55+ 0,0,0,0,DEAD_ABOVEDOT,DEAD_ACUTE,DEAD_ACUTE,0,
56+ 0,DEAD_ACUTE,0,0,0,0,0,0,
57+ 0,0,0,0,0,0,0,0,
58+ 0,0,0,0,0,0,0,0,
59+ 0,0,0,0,0,0,0,0,
60+ 0,0,0,0,0,0,0,0,
61+ 0,0,0,0,0,0,0,0,
62+ 0};
63+
64
65 CONST unsigned char key_map_hr_cp852[] =
66 {
67@@ -1741,7 +1791,7 @@
68 {DEAD_CIRCUMFLEX, DEAD_CIRCUMFLEX, '^'}, {DEAD_DIAERESIS, DEAD_DIAERESIS, '"'},
69 {DEAD_TILDE, DEAD_TILDE, '~'}, {DEAD_DOUBLEACUTE, DEAD_DOUBLEACUTE, 241},
70 {DEAD_OGONEK, DEAD_OGONEK, 242}, {DEAD_CARON, DEAD_CARON, 243},
71- {DEAD_BREVE, DEAD_BREVE, 244},
72+ {DEAD_BREVE, DEAD_BREVE, 244}, {DEAD_STROKE, DEAD_STROKE, 245},
73
74 {DEAD_ABOVERING, 'U', 222}, {DEAD_ABOVERING, 'u', 133},
75
76@@ -1768,6 +1818,7 @@
77 {DEAD_ACUTE, 'U', 233}, {DEAD_ACUTE, 'u', 163},
78 {DEAD_ACUTE, 'Y', 237}, {DEAD_ACUTE, 'y', 236},
79 {DEAD_ACUTE, 'Z', 141}, {DEAD_ACUTE, 'z', 171},
80+ {DEAD_ACUTE, 'X', 141}, {DEAD_ACUTE, 'x', 171},
81
82 {DEAD_CIRCUMFLEX, 'A', 182}, {DEAD_CIRCUMFLEX, 'a', 131},
83 {DEAD_CIRCUMFLEX, 'I', 215}, {DEAD_CIRCUMFLEX, 'i', 140},
84@@ -1790,7 +1841,8 @@
85
86 {DEAD_OGONEK, 'A', 164}, {DEAD_OGONEK, 'a', 165},
87 {DEAD_OGONEK, 'E', 168}, {DEAD_OGONEK, 'e', 169},
88-
89+ {DEAD_STROKE, 'L', 157}, {DEAD_STROKE, 'l', 136},
90+
91 {0, 0, 0}
92 };
93
94--- dosemu-1.0.2/src/base/keyboard/serv_xlat.c Sun Mar 11 14:27:25 2001
95+++ dosemu-1.0.2.new/src/base/keyboard/serv_xlat.c Sun Dec 30 16:37:23 2001
96@@ -477,17 +477,29 @@
97 * characters are generated. On US keyboards, translation is done
98 * with both ALT keys.
99 */
100- if (!(config.keytable->flags & KT_USES_ALTMAP) || (shiftstate & R_ALT))
101+
102+ /* BASIC style hack for Polish language. ALT+DEAD_KEY -> accent=DEAD_KEY
103+ * ch >= 32 should be "ch is not DEAD_KEY"
104+ */
105+
106+
107+ if (!(config.keytable->flags & KT_USES_ALTMAP) || (shiftstate & R_ALT)) {
108 ch = config.keytable->alt_map[key];
109+ if (ch >= 32) goto NEXT_CONDITION;
110+ accent=ch;
111+ }
112+ else goto NEXT_CONDITION;
113 }
114- else if (shiftstate & SHIFT) {
115+ if (shiftstate & SHIFT) {
116 ch = config.keytable->shift_map[key];
117 }
118 else { /* unshifted */
119 ch = config.keytable->key_map[key];
120 }
121 }
122-
123+
124+NEXT_CONDITION:
125+
126 if (shiftstate & CTRL) {
127 switch(ch) {
128 case 0x40 ... 0x7e: ch&=0x1f; break;
129--- dosemu-1.0.2/src/include/keymaps.h Sun Mar 11 14:27:27 2001
130+++ dosemu-1.0.2.new/src/include/keymaps.h Sun Dec 30 15:26:04 2001
131@@ -73,10 +73,11 @@
132 #define DEAD_IOTA 12
133 #define DEAD_OGONEK 14
134 #define DEAD_CARON 15
135+#define DEAD_STROKE 16
136
137 #define FULL_DEADKEY_LIST DEAD_GRAVE, DEAD_ACUTE, DEAD_CIRCUMFLEX, \
138 DEAD_TILDE, DEAD_BREVE, DEAD_ABOVEDOT, DEAD_DIAERESIS, DEAD_ABOVERING, \
139- DEAD_DOUBLEACUTE, DEAD_CEDILLA, DEAD_IOTA, DEAD_OGONEK, DEAD_CARON
140+ DEAD_DOUBLEACUTE, DEAD_CEDILLA, DEAD_IOTA, DEAD_OGONEK, DEAD_CARON, DEAD_STROKE
141
142 struct dos_dead_key {
143 unsigned char d_key;
This page took 0.035026 seconds and 4 git commands to generate.