diff src/events.h @ 2828:a25c824ed558

[xemacs-hg @ 2005-06-26 18:04:49 by aidan] Rename the ascii-character property, support more keysyms.
author aidan
date Sun, 26 Jun 2005 18:05:05 +0000
parents 6fa9919a9a0b
children 1e7cc382eb16
line wrap: on
line diff
--- a/src/events.h	Sat Jun 25 21:51:12 2005 +0000
+++ b/src/events.h	Sun Jun 26 18:05:05 2005 +0000
@@ -108,8 +108,6 @@
 #define first_event_type empty_event
 #define last_event_type dead_event
 
-#ifdef MULE
-
 enum alternative_key_chars
 {
   KEYCHAR_CURRENT_LANGENV,
@@ -122,8 +120,6 @@
   KEYCHAR_LAST
 };
 
-#endif /* MULE */
-
 struct Lisp_Key_Data
 {
 #ifdef EVENT_DATA_AS_OBJECTS
@@ -135,7 +131,6 @@
      Also includes buttons.  For many keys, Shift is not a bit; that
      is implicit in the keyboard layout. */
   int modifiers;
-#ifdef MULE
   /* Alternate character interpretations for this key in different
      keyboard layouts.  This deals with the problem of pressing C-x in
      the Russian layout (the so-called "Russian C-x problem"), for
@@ -149,12 +144,38 @@
      (AZERTY layout) who temporarily switches to Russian: The virtual
      keys underlying Russian are US-ASCII, so what the French speaker
      things of as C-a (the key just to the right of TAB) appears as
-     C-q. (#### We should probably ignore the current char and look
+     C-q. 
+
+         I've just implemented this in event-stream.c, and I really want to
+         see feedback from actual Russians about it, and whether it needs to
+         be much more complete than what I've done. E.g, the mapping back to
+         US Qwerty is hardcoded on the X11 side of things, and only deals
+         with the alphabetic characters. 
+
+	 Also, I think it's downright confusing for people with Roman
+	 letters on their keyboard to have random other letters than are
+	 described as calling some command, call that command. So I want to
+	 consider enabling it by language environment.
+
+     [[ (#### We should probably ignore the current char and look
      *ONLY* in alt_keychars for all control keys.  What about the
      English speaker who temporarily switches to the French layout and
-     finds C-q mapped to C-a?) */
+     finds C-q mapped to C-a?) ]] 
+
+         No, we shouldn't. People who use the French layout expect that
+         pressing control with the key to the right of tab passes C-a to
+         emacs; English speakers (more exactly, Qwerty users) who
+         temporarily switch to the French layout encounter that issue in
+         every other app too, and they normally remap the keyboard in
+         software as soon as they can, or learn to live with Azerty. That
+         applies for all the Roman-alphabet keyboard layouts. Aidan Kehoe,
+         2005-05-15
+
+         I've taken out the dependency on MULE for this feature because it's
+         also useful in a non-Mule XEmacs where the user has set their font
+         to something ending in iso8859-5. How many of those users there
+         are, is another question. */
   Ichar alt_keychars[KEYCHAR_LAST];
-#endif /* MULE */
 };
 
 typedef struct Lisp_Key_Data Lisp_Key_Data;
@@ -949,7 +970,7 @@
    (keyboard press, menu, scrollbar, mouse button) */
 int command_event_p (Lisp_Object event);
 void define_self_inserting_symbol (Lisp_Object, Lisp_Object);
-Ichar event_to_character (Lisp_Object, int, int, int);
+Ichar event_to_character (Lisp_Object, int, int);
 struct console *event_console_or_selected (Lisp_Object event);
 void upshift_event (Lisp_Object event);
 void downshift_event (Lisp_Object event);