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 /src/macterm.c | |
| 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.
Diffstat (limited to 'src/macterm.c')
| -rw-r--r-- | src/macterm.c | 19 |
1 files changed, 10 insertions, 9 deletions
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)); |