]> git.eshelyaron.com Git - emacs.git/commit
implement pre-edit input method
authorYuuki Harano <masm+github@masm11.me>
Wed, 13 Nov 2019 14:36:27 +0000 (23:36 +0900)
committerJeff Walsh <fejfighter@gmail.com>
Sun, 22 Nov 2020 03:46:56 +0000 (14:46 +1100)
commit232c129fe4ccc091c6b403a4d72b51d3d9687e23
tree0c5e90932a6c61e5d4b9608193ff855e9a5e8063
parent9e56fa9853f5d0114b90d69ff43885a80ca8f5bd
implement pre-edit input method

* src/termhooks.h (enum event_kind): new pgtk value

* src/pgtkterm.h (struct pgtk_display_info):

* src/pgtkterm.c (x_free_frame_resources, pgtk_delete_terminal)
(pgtk_enqueue_string, pgtk_enqueue_preedit, key_press_event)
(focus_in_event, focus_out_event, pgtk_term_init): call pgtkim

* src/pgtkim.c: new file
(im_context_commit_cb, im_context_retrieve_surrounding_cb)
(make_color_string, im_context_preedit_changed_cb)
(im_context_preedit_end_cb, im_context_preedit_start_cb)
(pgtk_im_focus_in, pgtk_im_focus_out, pgtk_im_filter_keypress)
(pgtk_im_finish, Fpgtk_use_im_context, syms_of_pgtkim):

* src/pgtkfns.c (check_pgtk_display_info):

* src/keyboard.c (kbd_buffer_get_event, make_lispy_event)
(keys_of_keyboard):

* src/emacs.c (main): add syms_of_pgtkim

* lisp/term/pgtk-win.el (pgtk-preedit-text): new defun

* configure.ac (XWIDGETS_OBJ): add pgtkim.o

input method 対応

preedit を overlay で表示するようにした。

preedit 表示後すぐに反映されなかったのを修正

この機能を ON/OFF できるようにした。

default off.

確定と同時に次の preedit が始まった場合に表示位置がおかしかったのを修正。

sample.

preedit をテキストで渡すようにした
configure.ac
lisp/term/pgtk-win.el
src/emacs.c
src/keyboard.c
src/pgtkfns.c
src/pgtkim.c [new file with mode: 0644]
src/pgtkterm.c
src/pgtkterm.h
src/termhooks.h