aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYAMAMOTO Mitsuharu2008-02-04 11:43:42 +0000
committerYAMAMOTO Mitsuharu2008-02-04 11:43:42 +0000
commitca1617bfd6e10ca2ff245006d967d954d1d5c0a2 (patch)
treef528bf4718d80baa6f747b805599a69ae68b4f27
parentcdd5307d74f1455ba1d681422fd6a6d53f90fd43 (diff)
downloademacs-ca1617bfd6e10ca2ff245006d967d954d1d5c0a2.tar.gz
emacs-ca1617bfd6e10ca2ff245006d967d954d1d5c0a2.zip
(mac_to_emacs_modifiers): New argument UNMAPPED_MODS.
All callers changed. (mac_quit_char_key_p, XTread_socket): Get Emacs modifiers from mapped modifiers together with original ones.
-rw-r--r--src/ChangeLog6
-rw-r--r--src/macterm.c19
2 files changed, 14 insertions, 11 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index e3b083b0474..a52ea61581e 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,13 +1,15 @@
12008-02-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> 12008-02-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2 2
3 * macterm.c [MAC_OSX] (fn_keycode_to_keycode_table): Add more entries 3 * macterm.c [MAC_OSX] (fn_keycode_to_keycode_table): Add more entries
4 that ignores kEventKeyModifierFnMask. 4 that ignore kEventKeyModifierFnMask.
5 (XTread_socket) [MAC_OSX]: Move code for ignoring 5 (XTread_socket) [MAC_OSX]: Move code for ignoring
6 kEventKeyModifierFnMask for some keys ... 6 kEventKeyModifierFnMask for some keys ...
7 (mac_mapped_modifiers) [MAC_OSX]: ... to here. Add argument KEY_CODE. 7 (mac_mapped_modifiers) [MAC_OSX]: ... to here. Add argument KEY_CODE.
8 All callers changed. 8 All callers changed.
9 (mac_to_emacs_modifiers): New argument UNMAPPED_MODS.
10 All callers changed.
9 (mac_quit_char_key_p, XTread_socket): Get Emacs modifiers from 11 (mac_quit_char_key_p, XTread_socket): Get Emacs modifiers from
10 mapped modifiers. 12 mapped modifiers together with original ones.
11 13
122008-02-01 Kenichi Handa <handa@ni.aist.go.jp> 142008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13 15
diff --git a/src/macterm.c b/src/macterm.c
index 93efc711250..b3e163029c6 100644
--- a/src/macterm.c
+++ b/src/macterm.c
@@ -9045,13 +9045,13 @@ static const unsigned char fn_keycode_to_keycode_table[] = {
9045 9045
9046static int 9046static int
9047#if USE_CARBON_EVENTS 9047#if USE_CARBON_EVENTS
9048mac_to_emacs_modifiers (UInt32 mods) 9048mac_to_emacs_modifiers (UInt32 mods, UInt32 unmapped_mods)
9049#else 9049#else
9050mac_to_emacs_modifiers (EventModifiers mods) 9050mac_to_emacs_modifiers (EventModifiers mods, EventModifiers unmapped_mods)
9051#endif 9051#endif
9052{ 9052{
9053 unsigned int result = 0; 9053 unsigned int result = 0;
9054 if (mods & shiftKey) 9054 if ((mods | unmapped_mods) & shiftKey)
9055 result |= shift_modifier; 9055 result |= shift_modifier;
9056 9056
9057 /* Deactivated to simplify configuration: 9057 /* Deactivated to simplify configuration:
@@ -9153,7 +9153,7 @@ mac_quit_char_key_p (modifiers, key_code)
9153 if (char_code & ~0xff) 9153 if (char_code & ~0xff)
9154 return 0; 9154 return 0;
9155 9155
9156 emacs_modifiers = mac_to_emacs_modifiers (mapped_modifiers); 9156 emacs_modifiers = mac_to_emacs_modifiers (mapped_modifiers, modifiers);
9157 if (emacs_modifiers & ctrl_modifier) 9157 if (emacs_modifiers & ctrl_modifier)
9158 c = make_ctrl_char (char_code); 9158 c = make_ctrl_char (char_code);
9159 9159
@@ -9179,7 +9179,7 @@ mac_event_to_emacs_modifiers (EventRef eventRef)
9179 { 9179 {
9180 mods &= ~(optionKey | cmdKey); 9180 mods &= ~(optionKey | cmdKey);
9181 } 9181 }
9182 return mac_to_emacs_modifiers (mods); 9182 return mac_to_emacs_modifiers (mods, 0);
9183} 9183}
9184 9184
9185/* Given an event ref, return the code to use for the mouse button 9185/* Given an event ref, return the code to use for the mouse button
@@ -9769,7 +9769,7 @@ mac_store_drag_event (window, mouse_pos, modifiers, desc)
9769 EVENT_INIT (buf); 9769 EVENT_INIT (buf);
9770 9770
9771 buf.kind = DRAG_N_DROP_EVENT; 9771 buf.kind = DRAG_N_DROP_EVENT;
9772 buf.modifiers = mac_to_emacs_modifiers (modifiers); 9772 buf.modifiers = mac_to_emacs_modifiers (modifiers, 0);
9773 buf.timestamp = TickCount () * (1000 / 60); 9773 buf.timestamp = TickCount () * (1000 / 60);
9774 XSETINT (buf.x, mouse_pos.h); 9774 XSETINT (buf.x, mouse_pos.h);
9775 XSETINT (buf.y, mouse_pos.v); 9775 XSETINT (buf.y, mouse_pos.v);
@@ -10255,7 +10255,7 @@ mac_handle_text_input_event (next_handler, event, data)
10255 read_socket_inev->kind = ASCII_KEYSTROKE_EVENT; 10255 read_socket_inev->kind = ASCII_KEYSTROKE_EVENT;
10256 read_socket_inev->code = code; 10256 read_socket_inev->code = code;
10257 read_socket_inev->modifiers = 10257 read_socket_inev->modifiers =
10258 mac_to_emacs_modifiers (modifiers); 10258 mac_to_emacs_modifiers (modifiers, 0);
10259 read_socket_inev->modifiers |= 10259 read_socket_inev->modifiers |=
10260 (extra_keyboard_modifiers 10260 (extra_keyboard_modifiers
10261 & (meta_modifier | alt_modifier 10261 & (meta_modifier | alt_modifier
@@ -10901,7 +10901,7 @@ XTread_socket (sd, expected, hold_quit)
10901 inev.modifiers = mac_event_to_emacs_modifiers (eventRef); 10901 inev.modifiers = mac_event_to_emacs_modifiers (eventRef);
10902#else 10902#else
10903 inev.code = mac_get_emulated_btn (er.modifiers); 10903 inev.code = mac_get_emulated_btn (er.modifiers);
10904 inev.modifiers = mac_to_emacs_modifiers (er.modifiers); 10904 inev.modifiers = mac_to_emacs_modifiers (er.modifiers, 0);
10905#endif 10905#endif
10906 XSETINT (inev.x, mouse_loc.h); 10906 XSETINT (inev.x, mouse_loc.h);
10907 XSETINT (inev.y, mouse_loc.v); 10907 XSETINT (inev.y, mouse_loc.v);
@@ -11430,7 +11430,8 @@ XTread_socket (sd, expected, hold_quit)
11430 inev.code = er.message & charCodeMask; 11430 inev.code = er.message & charCodeMask;
11431 } 11431 }
11432 11432
11433 inev.modifiers = mac_to_emacs_modifiers (mapped_modifiers); 11433 inev.modifiers = mac_to_emacs_modifiers (mapped_modifiers,
11434 modifiers);
11434 inev.modifiers |= (extra_keyboard_modifiers 11435 inev.modifiers |= (extra_keyboard_modifiers
11435 & (meta_modifier | alt_modifier 11436 & (meta_modifier | alt_modifier
11436 | hyper_modifier | super_modifier)); 11437 | hyper_modifier | super_modifier));