[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#355602: [xkb] provide a new option "altwin:left_alt_win" to map Alt to the left Win-key



Package: xlibs
Version: 6.9.0.dfsg.1-4
Severity: wishlist
Tags: patch

I request a new XkbOption to map Alt to the left win-key. I would call
this option "altwin:left_alt_win" and it' basic implementation should
be (a complete patch is attached):

+partial modifier_keys 
+xkb_symbols "left_alt_win" {
+    key <LWIN> {	[ 	Alt_L			]	};
+    modifier_map Mod1	{ Alt_L };
+};

Why do I need this option? I have an apple powerbook with ADB keyboard
and german layout, and I decided to type the symbols []|\{}~@ the
MacOS-way by holding down the option key. Okay, this is the xkb-option
"grp:lswitch". But after setting

Section "InputDevice"
        Identifier      "Generic Keyboard"
        Driver          "keyboard"
        Option          "CoreKeyboard"
        Option          "XkbRules"      "xorg"
        Option          "XkbModel"      "macintosh"
        Option          "XkbLayout"     "de"
        Option          "XkbVariant"    "nodeadkeys"
        Option          "XkbOptions"    "grp:lswitch"
EndSection

in xorg.conf I have no Alt key to switch between virtuell terminals
(Ctrl + Alt + F<n>). There is no physical right-alt key on the
powerbook keyboard. And to get the keycode <RALT> I need to press the
fn-key together with the option key, but unfortunately the fn-key also
alters the keycode emitted by the function keys.

So this is why I had the idea to map Alt to the apple command key
(even though the option key is labeled "alt").

The name "altwin:left_alt_win" is derived from the option
"altwin:left_meta_win". But one difference is that I don't want <LALT>
to be defined in this place so that my option "grp:lswitch" won't be
overridden.

Thanks,

  Ben
diff -ur -x 'xfree86*' etc/X11/xkb-orig/rules/xorg etc/X11/xkb/rules/xorg
--- etc/X11/xkb-orig/rules/xorg	2006-01-15 02:28:00.000000000 +0100
+++ etc/X11/xkb/rules/xorg	2006-03-05 23:31:11.000000000 +0100
@@ -932,6 +932,7 @@
   altwin:meta_alt	=	+altwin(meta_alt)
   altwin:meta_win	=	+altwin(meta_win)
   altwin:left_meta_win	=	+altwin(left_meta_win)
+  altwin:left_alt_win	=	+altwin(left_alt_win)
   altwin:super_win	=	+altwin(super_win)
   altwin:hyper_win	=	+altwin(hyper_win)
   altwin:alt_super_win	=	+altwin(alt_super_win)
diff -ur -x 'xfree86*' etc/X11/xkb-orig/rules/xorg.lst etc/X11/xkb/rules/xorg.lst
--- etc/X11/xkb-orig/rules/xorg.lst	2006-01-15 02:28:00.000000000 +0100
+++ etc/X11/xkb/rules/xorg.lst	2006-03-05 23:32:23.000000000 +0100
@@ -395,6 +395,7 @@
   altwin:meta_alt      Alt and Meta are on the Alt keys (default).
   altwin:meta_win      Meta is mapped to the Win-keys.
   altwin:left_meta_win Meta is mapped to the left Win-key.
+  altwin:left_alt_win  Alt is mapped to the left Win-key.
   altwin:super_win     Super is mapped to the Win-keys (default).
   altwin:hyper_win     Hyper is mapped to the Win-keys.
   altwin:alt_super_win Alt is mapped to the right Win-key and Super to Menu.
diff -ur -x 'xfree86*' etc/X11/xkb-orig/rules/xorg.xml etc/X11/xkb/rules/xorg.xml
--- etc/X11/xkb-orig/rules/xorg.xml	2006-01-15 02:28:00.000000000 +0100
+++ etc/X11/xkb/rules/xorg.xml	2006-03-05 23:37:59.000000000 +0100
@@ -7720,6 +7720,12 @@
       </option>
       <option>
         <configItem>
+          <name>altwin:left_alt_win</name>
+          <description>Alt is mapped to the left Win-key.</description>
+        </configItem>
+      </option>
+      <option>
+        <configItem>
           <name>altwin:super_win</name>
           <description>Super is mapped to the Win-keys (default).</description>
           <description xml:lang="af">Super is verbind aan die Win-sleutels (verstek).</description>
diff -ur -x 'xfree86*' etc/X11/xkb-orig/symbols/altwin etc/X11/xkb/symbols/altwin
--- etc/X11/xkb-orig/symbols/altwin	2006-01-15 02:27:55.000000000 +0100
+++ etc/X11/xkb/symbols/altwin	2006-03-05 23:29:48.000000000 +0100
@@ -28,6 +28,12 @@
 };
 
 partial modifier_keys 
+xkb_symbols "left_alt_win" {
+    key <LWIN> {	[ 	Alt_L			]	};
+    modifier_map Mod1	{ Alt_L };
+};
+
+partial modifier_keys 
 xkb_symbols "super_win" {
     key <LWIN> {	[ 	Super_L			]	};
     key <RWIN> {	[ 	Super_R			]	};
diff -ur -x 'xfree86*' etc/X11/xkb-orig/symbols.dir etc/X11/xkb/symbols.dir
--- etc/X11/xkb-orig/symbols.dir	2006-01-15 02:27:54.000000000 +0100
+++ etc/X11/xkb/symbols.dir	2006-03-05 23:40:00.000000000 +0100
@@ -404,6 +404,7 @@
 --p----- -m------ altwin(meta_alt)
 --p----- -m------ altwin(meta_win)
 --p----- -m------ altwin(left_meta_win)
+--p----- -m------ altwin(left_alt_win)
 --p----- -m------ altwin(super_win)
 --p----- -m------ altwin(hyper_win)
 --p----- -m------ altwin(menu)

Reply to: