summaryrefslogtreecommitdiff
path: root/src/keyboard.c
diff options
context:
space:
mode:
authorYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>2005-04-12 10:25:05 +0000
committerYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>2005-04-12 10:25:05 +0000
commitc16dab62b207b82ac3b09239b5f9b0d351b78035 (patch)
tree8032ab292c9a534c61e456347f6253a76d8025a7 /src/keyboard.c
parenta56e6111a1e572e7a1e0f5f2d2d492daca77089b (diff)
downloademacs-c16dab62b207b82ac3b09239b5f9b0d351b78035.tar.gz
(Qlanguage_change) [MAC_OS]: New variable.
(syms_of_keyboard) [MAC_OS]: Intern and staticpro it. (kbd_buffer_get_event) [MAC_OS]: Make event for LANGUAGE_CHANGE_EVENT.
Diffstat (limited to 'src/keyboard.c')
-rw-r--r--src/keyboard.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/keyboard.c b/src/keyboard.c
index 0eb82533120..c6c7fd8c056 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -530,7 +530,7 @@ Lisp_Object Qmouse_fixup_help_message;
/* Symbols to denote kinds of events. */
Lisp_Object Qfunction_key;
Lisp_Object Qmouse_click;
-#ifdef WINDOWSNT
+#if defined (WINDOWSNT) || defined (MAC_OS)
Lisp_Object Qlanguage_change;
#endif
Lisp_Object Qdrag_n_drop;
@@ -4036,11 +4036,16 @@ kbd_buffer_get_event (kbp, used_mouse_menu)
x_activate_menubar (XFRAME (event->frame_or_window));
}
#endif
-#ifdef WINDOWSNT
+#if defined (WINDOWSNT) || defined (MAC_OS)
else if (event->kind == LANGUAGE_CHANGE_EVENT)
{
+#ifdef MAC_OS
+ /* Make an event (language-change (KEY_SCRIPT)). */
+ obj = Fcons (make_number (event->code), Qnil);
+#else
/* Make an event (language-change (FRAME CHARSET LCID)). */
obj = Fcons (event->frame_or_window, Qnil);
+#endif
obj = Fcons (Qlanguage_change, Fcons (obj, Qnil));
kbd_fetch_ptr = event + 1;
}
@@ -10845,7 +10850,7 @@ syms_of_keyboard ()
staticpro (&Qfunction_key);
Qmouse_click = intern ("mouse-click");
staticpro (&Qmouse_click);
-#ifdef WINDOWSNT
+#if defined (WINDOWSNT) || defined (MAC_OS)
Qlanguage_change = intern ("language-change");
staticpro (&Qlanguage_change);
#endif