Package: kbd
Version: 1.12-19
Severity: normal
Tags: patch

Hi,

In order to better handle some keyboard layouts (like the french one),
here is a patch that defines the variants for the CapsShift modifier,
which permits for instance to define capslock as a CapsShift lock
(supported by kernels from 2.6.24-rc1), which is useful to type capital
accented text for instance.

Samuel

-- System Information:
Debian Release: lenny/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (1, 
'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.23
Locale: [EMAIL PROTECTED], [EMAIL PROTECTED] (charmap=ISO-8859-15)
Shell: /bin/sh linked to /bin/bash

Versions of packages kbd depends on:
ii  console-common                0.7.71     basic infrastructure for text cons
ii  libc6                         2.6.1-6    GNU C Library: Shared libraries
ii  lsb-base                      3.1-24     Linux Standard Base 3.1 init scrip

Versions of packages kbd recommends:
ii  console-data                  2:1.03-1   Keymaps, fonts, charset maps, fall

-- no debconf information

-- 
Samuel
AUTHOR
     FvwmM4 is the result of a random  bit  mutation  on  a  hard
     disk,  presumably  a  result  of  a  cosmic-ray or some such
     thing.
(extrait de la page de man de FvwmM4)
diff -ur kbd-1.12/man/man5/keymaps.5 kbd-1.12-mine2/man/man5/keymaps.5
--- kbd-1.12/man/man5/keymaps.5 2002-10-11 12:08:58.000000000 +0100
+++ kbd-1.12-mine2/man/man5/keymaps.5   2007-11-20 01:38:21.000000000 +0000
@@ -99,9 +99,9 @@
 .LP
 Which of the actions bound to a given key is taken when it is pressed
 depends on what modifiers are in effect at that moment.
-The keyboard driver supports 8 modifiers. These modifiers are labeled
+The keyboard driver supports 9 modifiers. These modifiers are labeled
 (completely arbitrarily) Shift, AltGr, Control, Alt, ShiftL, ShiftR,
-CtrlL and CtrlR.
+CtrlL, CtrlR and CapsShift.
 Each of these modifiers has an associated weight of power of two
 according to the following table:
 .LP
@@ -134,6 +134,9 @@
 .TP 24
 CtrlR
 128
+.TP 24
+CapsShift
+256
 .PD
 .RE
 .LP
diff -ur kbd-1.12/src/analyze.l kbd-1.12-mine2/src/analyze.l
--- kbd-1.12/src/analyze.l      2004-01-16 21:51:44.000000000 +0000
+++ kbd-1.12-mine2/src/analyze.l        2007-11-20 01:38:21.000000000 +0000
@@ -48,6 +48,7 @@
 ShiftR                 shiftr|ShiftR|SHIFTR
 CtrlL                  ctrll|CtrlL|CTRLL
 CtrlR                  ctrlr|CtrlR|CTRLR
+CapsShift              capsshift|Capsshift|CapsShift|CAPSSHIFT
 AltIsMeta              [aA][lL][tT][-_][iI][sS][-_][mM][eE][tT][aA]
 Strings                        strings|Strings|STRINGS
 Compose                 compose|Compose|COMPOSE
@@ -93,6 +94,7 @@
 {ShiftR}               {return(SHIFTR);}
 {CtrlL}                        {return(CTRLL);}
 {CtrlR}                        {return(CTRLR);}
+{CapsShift}            {return(CAPSSHIFT);}
 {AltIsMeta}            {return(ALT_IS_META);}
 {Strings}              {return(STRINGS);}
 {Compose}               {return(COMPOSE);}
diff -ur kbd-1.12/src/dumpkeys.c kbd-1.12-mine2/src/dumpkeys.c
--- kbd-1.12/src/dumpkeys.c     2004-01-16 19:45:31.000000000 +0000
+++ kbd-1.12-mine2/src/dumpkeys.c       2007-11-20 01:38:21.000000000 +0000
@@ -276,7 +276,8 @@
     { "shiftl",        KG_SHIFTL },
     { "shiftr",        KG_SHIFTR },
     { "ctrll", KG_CTRLL  },
-    { "ctrlr", KG_CTRLR  }
+    { "ctrlr", KG_CTRLR  },
+    { "capsshift",     KG_CAPSSHIFT  }
 };
 
 static void
diff -ur kbd-1.12/src/ksyms.c kbd-1.12-mine2/src/ksyms.c
--- kbd-1.12/src/ksyms.c        2004-01-16 19:45:31.000000000 +0000
+++ kbd-1.12-mine2/src/ksyms.c  2007-11-20 01:39:11.000000000 +0000
@@ -1481,7 +1481,8 @@
        "ShiftL_Lock",
        "ShiftR_Lock",
        "CtrlL_Lock",
-       "CtrlR_Lock"
+       "CtrlR_Lock",
+       "CapsShift_Lock"
 };
 
 /* Keysyms whose KTYP is KT_SLOCK. */
@@ -1494,7 +1495,8 @@
        "SShiftL",
        "SShiftR",
        "SCtrlL",
-       "SCtrlR"
+       "SCtrlR",
+       "SCapsShift"
 };
 
 #define E(x) { x, sizeof(x) / sizeof(x[0]) }
diff -ur kbd-1.12/src/loadkeys.y kbd-1.12-mine2/src/loadkeys.y
--- kbd-1.12/src/loadkeys.y     2004-01-16 21:51:25.000000000 +0000
+++ kbd-1.12-mine2/src/loadkeys.y       2007-11-20 01:39:25.000000000 +0000
@@ -5,7 +5,7 @@
  */
 
 %token EOL NUMBER LITERAL CHARSET KEYMAPS KEYCODE EQUALS
-%token PLAIN SHIFT CONTROL ALT ALTGR SHIFTL SHIFTR CTRLL CTRLR
+%token PLAIN SHIFT CONTROL ALT ALTGR SHIFTL SHIFTR CTRLL CTRLR CAPSSHIFT
 %token COMMA DASH STRING STRLITERAL COMPOSE TO CCHAR ERROR PLUS
 %token UNUMBER ALT_IS_META STRINGS AS USUAL ON FOR
 
@@ -182,6 +182,7 @@
                | SHIFTR        { mod |= M_SHIFTR;      }
                | CTRLL         { mod |= M_CTRLL;       }
                | CTRLR         { mod |= M_CTRLR;       }
+               | CAPSSHIFT     { mod |= M_CAPSSHIFT;   }
                ;
 fullline       : KEYCODE NUMBER EQUALS rvalue0 EOL
        {
diff -ur kbd-1.12/src/modifiers.h kbd-1.12-mine2/src/modifiers.h
--- kbd-1.12/src/modifiers.h    1998-04-24 15:27:41.000000000 +0100
+++ kbd-1.12-mine2/src/modifiers.h      2007-11-20 01:39:31.000000000 +0000
@@ -7,3 +7,4 @@
 #define M_SHIFTR (1 << KG_SHIFTR)
 #define M_CTRLL  (1 << KG_CTRLL)
 #define M_CTRLR  (1 << KG_CTRLR)
+#define M_CAPSSHIFT (1 << KG_CAPSSHIFT)

Reply via email to