The macOS input handler assumes that you want to insert control sequences when you type ctrl-alt-X (you probably don't...). Release Notes: - (nightly only) fix ctrl-alt-X shortcuts
Unified · Split
| @@ -1253,7 +1253,10 @@ extern "C" fn handle_key_event(this: &Object, native_event: id, key_equivalent: · 1252 unmodified lines | |||
| 1253 | // otherwise we only send to the input handler if we don't have a matching binding. | 1253 | // otherwise we only send to the input handler if we don't have a matching binding. |
| 1254 | // The input handler may call `do_command_by_selector` if it doesn't know how to handle | 1254 | // The input handler may call `do_command_by_selector` if it doesn't know how to handle |
| 1255 | // a key. If it does so, it will return YES so we won't send the key twice. | 1255 | // a key. If it does so, it will return YES so we won't send the key twice. |
| 1256 | if is_composing || event.keystroke.key_char.is_none() { | 1256 | // We also do this for non-printing keys (like arrow keys and escape) as the IME menu |
| 1257 | // may need them even if there is no marked text; | ||
| 1258 | // however we skip keys with control or the input handler adds control-characters to the buffer. | ||
| 1259 | if is_composing || (event.keystroke.key_char.is_none() && !event.keystroke.modifiers.control) { | ||
| 1257 | { | 1260 | { |
| 1258 | let mut lock = window_state.as_ref().lock(); | 1261 | let mut lock = window_state.as_ref().lock(); |
| 1259 | lock.keystroke_for_do_command = Some(event.keystroke.clone()); | 1262 | lock.keystroke_for_do_command = Some(event.keystroke.clone()); |