unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eugene Vlasov <eugene@ikz.ru>
Subject: Re: wish: right alt/meta to switch keyboard layout while pressed
Date: Sat, 26 Nov 2005 13:15:21 +0500	[thread overview]
Message-ID: <20051126081521.GA8681@eugene-home.ikz.ru> (raw)
In-Reply-To: <200511260033.24103.pogonyshev@gmx.net>

On Sat, Nov 26, 2005 at 12:33:23AM +0200 Paul Pogonyshev wrote:

> After this, most applications handle, say `Сtrl-Ц' just like `Ctrl-W' (`Ц' and
> `W' are on the same key.)  However, Firefox doesn't, for some reason (which pisses
> me off a lot, BTW) and so doesn't Emacs...  No idea why.

With this patch from ALTLinux distribution keybindings with Ctrl and
Meta works for me in russian keyboard map:

diff -Naur emacs/src/xterm.c emacs.build/src/xterm.c
--- emacs/src/xterm.c   2005-11-16 23:44:07 +0500
+++ emacs.build/src/xterm.c     2005-11-26 12:50:23 +0500
@@ -6141,11 +6141,20 @@
 
           /* make_lispy_event turns chars into control chars.
              Don't do it here because XLookupString is too eager.  */
-          event.xkey.state &= ~ControlMask;
-          event.xkey.state &= ~(dpyinfo->meta_mod_mask
-                                | dpyinfo->super_mod_mask
-                                | dpyinfo->hyper_mod_mask
-                                | dpyinfo->alt_mod_mask);
+          /* make CMsHA behave the same no matter what the rest of the 
+             state is (particularly important for multilingual XKBmaps
+             when we still want the latin letters appear in the "control"
+             sequences; would be nice if we also could choose an independent
+             map for each buffer like xxkb does for windows: the the problem with
+             smth like C-h f in Russian mode would be solved); discard
+             all mods save shift. (imz@altlinux.ru, 2002 Nov 8,
+             fixing #852 at bugs.altlinux.ru) */
+          if (event.xkey.state & ( ControlMask
+                                  | dpyinfo->meta_mod_mask
+                                  | dpyinfo->super_mod_mask
+                                  | dpyinfo->hyper_mod_mask
+                                  | dpyinfo->alt_mod_mask))
+            event.xkey.state &= (ShiftMask | dpyinfo->shift_lock_mask);
 
           /* In case Meta is ComposeCharacter,
              clear its status.  According to Markus Ehrnsperger



-- 
WBR, Eugene Vlasov        mailto:eugvv at altlinux.ru
                          JID: eugvv@jabber.ru

  parent reply	other threads:[~2005-11-26  8:15 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-22 19:50 wish: right alt/meta to switch keyboard layout while pressed Paul Pogonyshev
2005-11-22 22:31 ` Andreas Schwab
2005-11-23  5:14 ` Richard M. Stallman
2005-11-23 19:52   ` Paul Pogonyshev
2005-11-25 15:50     ` Richard M. Stallman
2005-11-25 18:00       ` Andreas Schwab
2005-11-23  6:07 ` Juri Linkov
2005-11-24 17:18 ` Stefan Monnier
2005-11-24 19:45   ` Paul Pogonyshev
2005-11-24 20:56     ` Stefan Monnier
2005-11-25 19:37       ` Paul Pogonyshev
2005-11-25 22:17         ` Stefan Monnier
2005-11-25 22:33           ` Paul Pogonyshev
2005-11-25 22:44             ` Aidan Kehoe
2005-11-26 16:43               ` Paul Pogonyshev
2005-11-27  5:26                 ` Tomas Zerolo
2005-11-26  8:15             ` Eugene Vlasov [this message]
2005-11-26 19:44               ` Paul Pogonyshev
2005-11-28 20:33                 ` Juri Linkov
2005-11-26 15:10             ` Stefan Monnier
2005-11-26 16:46               ` Paul Pogonyshev
2005-11-27 18:19                 ` Stefan Monnier
2005-11-27 21:39                   ` Paul Pogonyshev
2005-11-28  2:39                     ` Mode_switch in Emacs (was: wish: right alt/meta to switch keyboard layout while pressed) Stefan Monnier
2005-11-28 20:27                       ` Juri Linkov
2005-11-28 22:14                         ` Mode_switch in Emacs Stefan Monnier
2005-11-28 23:08                           ` Juri Linkov
2005-11-29 16:24                             ` Stefan Monnier
2005-11-29 19:54                               ` Paul Pogonyshev
2005-11-30  2:43                               ` Juri Linkov
2005-11-28 20:27               ` wish: right alt/meta to switch keyboard layout while pressed Juri Linkov
2005-11-28 23:14                 ` Juri Linkov
2005-11-26  4:22       ` Richard M. Stallman
     [not found] ` <200511261925.20191.pogonyshev@gmx.net>
     [not found]   ` <17288.41589.506361.323637@parhasard.net>
2005-11-26 23:01     ` thoughts on interaction of key bindings and input methods (was Re: wish: right alt/meta to switch keyboard layout while pressed) Paul Pogonyshev
2005-11-27  1:48       ` Ben Wing
2005-11-27  5:35         ` Tomas Zerolo
2005-11-27 11:29         ` thoughts on interaction of key bindings and input methods (was Re: wish: right alt/meta to switch keyboard layout while pressed ) Paul Pogonyshev
2005-11-28  5:25           ` thoughts on interaction of key bindings and input methods (was Re: wish: right alt/meta to switch keyboard layout while pressed) Ben Wing
2005-11-28 19:09             ` Paul Pogonyshev
2005-11-27 18:35         ` Aidan Kehoe
2005-11-28  2:39 ` wish: right alt/meta to switch keyboard layout while pressed Stefan Monnier
2005-11-28 20:28   ` Juri Linkov
2005-11-28 22:16     ` Stefan Monnier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20051126081521.GA8681@eugene-home.ikz.ru \
    --to=eugene@ikz.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).