APPROVE COMMIT 21.4.17
Thanks for the patch, Malcolm. It will appear in XEmacs 21.4.17,
"Jumbo Shrimp".
- Vin
Malcolm Purvis <malcolmp(a)xemacs.org> writes:
APPROVE COMMIT 21.5 RECOMMEND 21.4
This patch enables AltGr under GTK. Unlike the recent X version, this wasn't
broken because of changes in x.org's IsModifierKey() but rather never worked
at all because the private macro IS_MODIFIER_KEY() didn't know it at all. The
private macro is necessary because of type differences.
src/ChangeLog addition:
2005-01-20 Malcolm Purvis <malcolmp(a)xemacs.org>
* event-gtk.c: Recognise AltGr as a valid modifier.
xemacs-gtk-modifiers source patch:
Diff command: cvs -q diff -u
Files affected: src/event-gtk.c
Index: src/event-gtk.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/event-gtk.c,v
retrieving revision 1.28
diff -u -r1.28 event-gtk.c
--- src/event-gtk.c 2004/11/04 23:06:25 1.28
+++ src/event-gtk.c 2005/01/19 22:48:37
@@ -97,10 +97,23 @@
Lisp_Object Qkey_mapping;
Lisp_Object Qsans_modifiers;
+/*
+ * Identify if the keysym is a modifier. This implementation mirrors x.org's
+ * IsModifierKey(), but for GDK keysyms.
+ */
+#ifdef GDK_ISO_Lock
#define IS_MODIFIER_KEY(keysym) \
((((keysym) >= GDK_Shift_L) && ((keysym) <= GDK_Hyper_R)) \
+ || (((keysym) >= GDK_ISO_Lock) && \
+ ((keysym) <= GDK_ISO_Last_Group_Lock)) \
|| ((keysym) == GDK_Mode_switch) \
|| ((keysym) == GDK_Num_Lock))
+#else
+#define IS_MODIFIER_KEY(keysym) \
+ ((((keysym) >= GDK_Shift_L) && ((keysym) <= GDK_Hyper_R)) \
+ || ((keysym) == GDK_Mode_switch) \
+ || ((keysym) == GDK_Num_Lock))
+#endif
#define THIS_IS_GTK
#include "event-xlike-inc.c"
--
Malcolm Purvis <malcolmp(a)xemacs.org>
Q: Why did the chicken cross the Mobius strip?
A: To get to the other... uh... err...