diff options
| author | Po Lu | 2024-03-02 14:04:56 +0800 |
|---|---|---|
| committer | Po Lu | 2024-03-02 14:04:56 +0800 |
| commit | 5e20b114ef32d504f4429fd35ecd0d5dcf3bd8db (patch) | |
| tree | 83215f4df69308e61c490172f4a68ff0fea63452 /src/androidgui.h | |
| parent | 8b96503b6e8514f1f9f92895a0707c78b1bbd1fd (diff) | |
| download | emacs-5e20b114ef32d504f4429fd35ecd0d5dcf3bd8db.tar.gz emacs-5e20b114ef32d504f4429fd35ecd0d5dcf3bd8db.zip | |
Implement dead key combination on Android
* src/android.c (android_init_key_character_map)
(android_get_dead_char): New functions.
(android_wc_lookup_string): New argument COMPOSE_STATE. Ignore
key events with the COMBINING_ACCENT flag set while recording
their character values there, and combine such characters with
the key event when processing a subsequent key event.
* src/androidgui.h (struct android_compose_status): New
structure.
* src/androidterm.c (handle_one_android_event): Port dead key
combination code from X. (bug#69321)
Diffstat (limited to 'src/androidgui.h')
| -rw-r--r-- | src/androidgui.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/androidgui.h b/src/androidgui.h index 89317581191..73b60c483d3 100644 --- a/src/androidgui.h +++ b/src/androidgui.h | |||
| @@ -612,6 +612,15 @@ struct android_window_changes | |||
| 612 | enum android_stack_mode stack_mode; | 612 | enum android_stack_mode stack_mode; |
| 613 | }; | 613 | }; |
| 614 | 614 | ||
| 615 | struct android_compose_status | ||
| 616 | { | ||
| 617 | /* Accent character to be combined with another. */ | ||
| 618 | unsigned int accent; | ||
| 619 | |||
| 620 | /* Number of characters matched. */ | ||
| 621 | int chars_matched; | ||
| 622 | }; | ||
| 623 | |||
| 615 | extern int android_pending (void); | 624 | extern int android_pending (void); |
| 616 | extern void android_next_event (union android_event *); | 625 | extern void android_next_event (union android_event *); |
| 617 | extern bool android_check_if_event (union android_event *, | 626 | extern bool android_check_if_event (union android_event *, |
| @@ -707,7 +716,8 @@ extern void android_translate_coordinates (android_window, int, | |||
| 707 | int, int *, int *); | 716 | int, int *, int *); |
| 708 | extern int android_wc_lookup_string (android_key_pressed_event *, | 717 | extern int android_wc_lookup_string (android_key_pressed_event *, |
| 709 | wchar_t *, int, int *, | 718 | wchar_t *, int, int *, |
| 710 | enum android_lookup_status *); | 719 | enum android_lookup_status *, |
| 720 | struct android_compose_status *); | ||
| 711 | extern void android_recreate_activity (android_window); | 721 | extern void android_recreate_activity (android_window); |
| 712 | extern void android_update_ic (android_window, ptrdiff_t, ptrdiff_t, | 722 | extern void android_update_ic (android_window, ptrdiff_t, ptrdiff_t, |
| 713 | ptrdiff_t, ptrdiff_t); | 723 | ptrdiff_t, ptrdiff_t); |