]> git.pld-linux.org Git - packages/dosemu.git/blob - dosemu-Polish_keyboard.patch
- perl -pi -e "s/^libtoolize --copy --force/\%\{__libtoolize\}/"
[packages/dosemu.git] / dosemu-Polish_keyboard.patch
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.9237 seconds and 3 git commands to generate.