emacs-devel
[Top][All Lists]
Advanced

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

Mode_switch in Emacs (was: wish: right alt/meta to switch keyboard layou


From: Stefan Monnier
Subject: Mode_switch in Emacs (was: wish: right alt/meta to switch keyboard layout while pressed)
Date: Sun, 27 Nov 2005 21:39:22 -0500
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

Regarding the XKB feature, I hope someone here will know what should be done
so the bug can be fixed.  Also I hope Richard can tell us if it should be
considered as a bug to be fixed before the release.  I.e. should I apply the
patch below?

> It should be deactivated while the Mode_switch is hold.  I.e. it should
> work like Shift, if you like.  Otherwise there's little point in it, since
> I could just press `C-\' twice as well with not so much more trouble.  When
> it works like a modifier, I can keep on typing as normal, while switching
> to a different layout significantly disrupts the process.

This requires several changes at the C level (at the very least so as to
get and process (mostly, ignore) key-release events).  But you may be able
to simulate the behavior as follows:

- set your xmodmap such that Mode_switch is assigned to an unused modifier
  (e.g. Hyper).
- add bindings in your .emacs of the form
  (global-set-key [?\H-\[] "[")
  (global-set-key [?\H-\'] "'")
  ...


        Stefan


--- FOR-RELEASE 19 nov 2005 10:48:53 -0500      1.174
+++ FOR-RELEASE 27 nov 2005 21:26:55 -0500      
@@ -49,6 +49,21 @@
 
 * BUGS
 
+** When using a russian+latin layout with
+
+   setxkbmap -model pc104 -layout us,ru -variant ,winkeys
+
+pressing the W key while control is held generates a С-Ц rather than C-W.
+A probably related bug is that if you use
+
+   setxkbmap -option grp:switch
+
+the russian layout should temporarily be disabled while the Mode_switch key
+is held.
+
+Qt and Gdk apps seem to do it right, and supposedly XEmacs now handles it
+right as well.
+
 ** Fix window resizing bug:
 C-x 2, C-x 3, C-x 2. Now try to move the bottom of the 
 second window to the left.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]