aboutsummaryrefslogtreecommitdiffstats
path: root/src/androidgui.h
diff options
context:
space:
mode:
authorPo Lu2024-03-02 14:04:56 +0800
committerPo Lu2024-03-02 14:04:56 +0800
commit5e20b114ef32d504f4429fd35ecd0d5dcf3bd8db (patch)
tree83215f4df69308e61c490172f4a68ff0fea63452 /src/androidgui.h
parent8b96503b6e8514f1f9f92895a0707c78b1bbd1fd (diff)
downloademacs-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.h12
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
615struct 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
615extern int android_pending (void); 624extern int android_pending (void);
616extern void android_next_event (union android_event *); 625extern void android_next_event (union android_event *);
617extern bool android_check_if_event (union android_event *, 626extern 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 *);
708extern int android_wc_lookup_string (android_key_pressed_event *, 717extern 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 *);
711extern void android_recreate_activity (android_window); 721extern void android_recreate_activity (android_window);
712extern void android_update_ic (android_window, ptrdiff_t, ptrdiff_t, 722extern void android_update_ic (android_window, ptrdiff_t, ptrdiff_t,
713 ptrdiff_t, ptrdiff_t); 723 ptrdiff_t, ptrdiff_t);