diff options
| author | YAMAMOTO Mitsuharu | 2008-02-04 11:43:42 +0000 |
|---|---|---|
| committer | YAMAMOTO Mitsuharu | 2008-02-04 11:43:42 +0000 |
| commit | ca1617bfd6e10ca2ff245006d967d954d1d5c0a2 (patch) | |
| tree | f528bf4718d80baa6f747b805599a69ae68b4f27 | |
| parent | cdd5307d74f1455ba1d681422fd6a6d53f90fd43 (diff) | |
| download | emacs-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/ChangeLog | 6 | ||||
| -rw-r--r-- | src/macterm.c | 19 |
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 @@ | |||
| 1 | 2008-02-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 1 | 2008-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 | ||
| 12 | 2008-02-01 Kenichi Handa <handa@ni.aist.go.jp> | 14 | 2008-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 | ||
| 9046 | static int | 9046 | static int |
| 9047 | #if USE_CARBON_EVENTS | 9047 | #if USE_CARBON_EVENTS |
| 9048 | mac_to_emacs_modifiers (UInt32 mods) | 9048 | mac_to_emacs_modifiers (UInt32 mods, UInt32 unmapped_mods) |
| 9049 | #else | 9049 | #else |
| 9050 | mac_to_emacs_modifiers (EventModifiers mods) | 9050 | mac_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)); |