]> git.eshelyaron.com Git - emacs.git/commit
Add support for event processing via XInput 2
authoroldosfan <luangruo@yahoo.com>
Mon, 1 Nov 2021 00:19:32 +0000 (08:19 +0800)
committerPo Lu <luangruo@yahoo.com>
Wed, 10 Nov 2021 05:27:01 +0000 (13:27 +0800)
commit346cfc81247e6bf8e727a27b42f44f2389bd1269
tree424eb046da6c0b2e2e75651226d2c613f6da640e
parent68a2a3307d1703ac8abe4b54c8e1ef9dda677c12
Add support for event processing via XInput 2

* configure.ac: Add an option to use XInput 2 if available
* src/Makefile.in (XINPUT_LIBS, XINPUT_CFLAGS): New variables
(EMACS_CFLAGS): Add Xinput CFLAGS
(LIBES): Add XInput libs
* src/xmenu.c (popup_activated_flag): Expose flag if XInput 2 is
available
* src/xfns.c (x_window): Set XInput 2 event mask
* src/xterm.c (x_detect_focus_change): Handle XInput 2 GenericEvents
(handle_one_xevent): Handle XInput 2 events
(x_term_init): Ask the server for XInput 2 support and set xkb_desc if
available
(x_delete_terminal): Free XKB kb desc if it exists, and free XI2
devices if they exist
(x_free_xi_devices, x_init_master_valuators): New functions
(x_get_scroll_valuator_delta): New function
(init_xterm): Don't tell GTK to only use Core Input when built with
XInput 2 support
* src/xterm.h (struct x_display_info): Add fields for XKB and XI2
support
* src/gtkutil.c (xg_event_is_for_menubar): Handle XIDeviceEvents
(xg_is_menu_window): New function
(xg_event_is_for_scrollbar): Handle XIDeviceEvents
configure.ac
src/Makefile.in
src/gtkutil.c
src/gtkutil.h
src/xfns.c
src/xmenu.c
src/xterm.c
src/xterm.h