]> git.pld-linux.org Git - packages/dosemu.git/commitdiff
- Polish keyboard (cp852) with raw and layout (pl)
authorjuandon <witekfl@pld-linux.org>
Thu, 17 Jan 2002 16:50:16 +0000 (16:50 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    dosemu-Polish_keyboard.patch -> 1.1

dosemu-Polish_keyboard.patch [new file with mode: 0644]

diff --git a/dosemu-Polish_keyboard.patch b/dosemu-Polish_keyboard.patch
new file mode 100644 (file)
index 0000000..c1e7f17
--- /dev/null
@@ -0,0 +1,143 @@
+--- dosemu-1.0.2/src/base/keyboard/keymaps.c   Sun Mar 11 14:27:25 2001
++++ dosemu-1.0.2.new/src/base/keyboard/keymaps.c       Sun Dec 30 16:45:07 2001
+@@ -1374,6 +1374,7 @@
+   0};
+ /* Polish keyboard */
++/*
+ CONST unsigned char key_map_pl[] =
+ {
+   0, 27, '1', '2', '3', '4', '5', '6',
+@@ -1421,6 +1422,55 @@
+   0, 0, 0, 0, 0, 0, '|', 0,
+   0, 0, 0, 0, 0, 0, 0, 0,
+   0};
++*/
++CONST unsigned char key_map_pl[] =
++{
++     0,27,'1','2','3','4','5','6',
++     '7','8','9','0','-','=',127,9,
++     'q','w','e','r','t','y','u','i',
++     'o','p','[',']',13,0,'a','s',
++     'd','f','g','h','j','k','l',';',
++     39,96,0,92,'z','x','c','v',
++     'b','n','m',',','.','/',0,'*',
++     0,32,0,0,0,0,0,0,
++     0,0,0,0,0,0,0,0,
++     0,0,'-',0,0,0,'+',0,
++     0,0,0,0,0,0,'<',0,
++     0,0,0,0,0,0,0,0,
++     0};
++     
++CONST unsigned char shift_map_pl[] =
++{
++     0,27,'!','@','#','$','%','^',
++     '&','*','(',')','_','+',127,9,
++     'Q','W','E','R','T','Y','U','I',
++     'O','P','{','}',13,0,'A','S',
++     'D','F','G','H','J','K','L',':',
++     34,'~',0,'|','Z','X','C','V',
++     'B','N','M','<','>','?',0,'*',
++     0,32,0,0,0,0,0,0,
++     0,0,0,0,0,0,0,0,
++     0,0,'-',0,0,0,'+',0,
++     0,0,0,0,0,0,'>',0,
++     0,0,0,0,0,0,0,0,
++     0};
++     
++CONST unsigned char alt_map_pl[] =
++{
++     0,0,0,'@',0,0,0,0,
++     0,0,0,0,0,0,0,0,
++     0,0,DEAD_OGONEK,0,0,0,0,0,
++     DEAD_ACUTE,0,0,0,0,0,DEAD_OGONEK,DEAD_ACUTE,
++     0,0,0,0,0,0,DEAD_STROKE,0,
++     0,0,0,0,DEAD_ABOVEDOT,DEAD_ACUTE,DEAD_ACUTE,0,
++     0,DEAD_ACUTE,0,0,0,0,0,0,
++     0,0,0,0,0,0,0,0,
++     0,0,0,0,0,0,0,0,
++     0,0,0,0,0,0,0,0,
++     0,0,0,0,0,0,0,0,
++     0,0,0,0,0,0,0,0,
++     0};
++     
+ CONST unsigned char key_map_hr_cp852[] =
+ {
+@@ -1741,7 +1791,7 @@
+       {DEAD_CIRCUMFLEX, DEAD_CIRCUMFLEX, '^'}, {DEAD_DIAERESIS, DEAD_DIAERESIS, '"'},
+       {DEAD_TILDE, DEAD_TILDE, '~'}, {DEAD_DOUBLEACUTE, DEAD_DOUBLEACUTE, 241},
+       {DEAD_OGONEK, DEAD_OGONEK, 242}, {DEAD_CARON, DEAD_CARON, 243},
+-      {DEAD_BREVE, DEAD_BREVE, 244},
++      {DEAD_BREVE, DEAD_BREVE, 244}, {DEAD_STROKE, DEAD_STROKE, 245},
+       {DEAD_ABOVERING, 'U', 222}, {DEAD_ABOVERING, 'u', 133},
+@@ -1768,6 +1818,7 @@
+       {DEAD_ACUTE, 'U', 233}, {DEAD_ACUTE, 'u', 163},
+       {DEAD_ACUTE, 'Y', 237}, {DEAD_ACUTE, 'y', 236},
+       {DEAD_ACUTE, 'Z', 141}, {DEAD_ACUTE, 'z', 171},
++      {DEAD_ACUTE, 'X', 141}, {DEAD_ACUTE, 'x', 171},
+       {DEAD_CIRCUMFLEX, 'A', 182},    {DEAD_CIRCUMFLEX, 'a', 131},
+       {DEAD_CIRCUMFLEX, 'I', 215},    {DEAD_CIRCUMFLEX, 'i', 140},
+@@ -1790,7 +1841,8 @@
+       {DEAD_OGONEK, 'A', 164}, {DEAD_OGONEK, 'a', 165},
+       {DEAD_OGONEK, 'E', 168}, {DEAD_OGONEK, 'e', 169},
+-
++      {DEAD_STROKE, 'L', 157}, {DEAD_STROKE, 'l', 136},
++      
+         {0, 0, 0}
+ };
+--- dosemu-1.0.2/src/base/keyboard/serv_xlat.c Sun Mar 11 14:27:25 2001
++++ dosemu-1.0.2.new/src/base/keyboard/serv_xlat.c     Sun Dec 30 16:37:23 2001
+@@ -477,17 +477,29 @@
+           * characters are generated. On US keyboards, translation is done 
+           * with both ALT keys.
+           */
+-         if (!(config.keytable->flags & KT_USES_ALTMAP) || (shiftstate & R_ALT))
++         
++         /* BASIC style hack for Polish language.  ALT+DEAD_KEY -> accent=DEAD_KEY
++          * ch >= 32 should be "ch is not DEAD_KEY"
++          */ 
++         
++         
++         if (!(config.keytable->flags & KT_USES_ALTMAP) || (shiftstate & R_ALT)) {
+             ch = config.keytable->alt_map[key];
++            if (ch >= 32) goto NEXT_CONDITION;
++            accent=ch;
++         }
++         else goto NEXT_CONDITION; 
+       }
+-      else if (shiftstate & SHIFT) {
++      if (shiftstate & SHIFT) {
+          ch = config.keytable->shift_map[key];
+       }
+       else {   /* unshifted */
+          ch = config.keytable->key_map[key];
+       }
+    }
+-
++   
++NEXT_CONDITION:
++   
+    if (shiftstate & CTRL) {
+       switch(ch) {
+          case 0x40 ... 0x7e: ch&=0x1f; break;
+--- dosemu-1.0.2/src/include/keymaps.h Sun Mar 11 14:27:27 2001
++++ dosemu-1.0.2.new/src/include/keymaps.h     Sun Dec 30 15:26:04 2001
+@@ -73,10 +73,11 @@
+ #define DEAD_IOTA          12 
+ #define DEAD_OGONEK        14
+ #define DEAD_CARON         15
++#define DEAD_STROKE        16
+ #define FULL_DEADKEY_LIST  DEAD_GRAVE, DEAD_ACUTE, DEAD_CIRCUMFLEX, \
+   DEAD_TILDE, DEAD_BREVE, DEAD_ABOVEDOT, DEAD_DIAERESIS, DEAD_ABOVERING, \
+-  DEAD_DOUBLEACUTE, DEAD_CEDILLA, DEAD_IOTA, DEAD_OGONEK, DEAD_CARON
++  DEAD_DOUBLEACUTE, DEAD_CEDILLA, DEAD_IOTA, DEAD_OGONEK, DEAD_CARON, DEAD_STROKE
+ struct dos_dead_key {
+   unsigned char d_key;
This page took 0.161354 seconds and 4 git commands to generate.