aboutsummaryrefslogtreecommitdiffstats
path: root/src/keyboard.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Handle hierarchy events for updating scroll valuators correctlyPo Lu2022-04-091-0/+2
| | | | | | | | | | | * src/keyboard.c (gen_help_event, kbd_buffer_store_help_event): Make sure to initialize the event buffer correctly. * src/xterm.c (xi_populate_device_from_info): New function. (x_init_master_valuators): Factor out most of the valuator tracking code to that function. (handle_one_xevent): Handle device enable and disable events in a more detailed fashion.
* Use right frame when computing mouse movement devicePo Lu2022-04-091-3/+4
| | | | | * src/keyboard.c (kbd_buffer_get_event): Use the frame on which the mouse actually moved to compute the last mouse device.
* Minor cleanups in X Windows drag-and-drop codePo Lu2022-04-091-1/+1
| | | | | | | | * src/keyboard.c (kbd_buffer_get_event): Don't dereference f if nil when generating mouse motion event. * src/xterm.c (x_dnd_send_enter, x_dnd_send_position) (x_dnd_send_leave, x_dnd_send_drop, x_send_scroll_bar_event): Use NoEventMask instead of 0.
* Fix GC marking of input events with devicesPo Lu2022-04-081-0/+6
| | | | | * src/keyboard.c (mark_kboards): * src/pgtkterm.c (mark_pgtkterm): Mark `device' as well.
* Fix reporting of last-event-device for synthetic eventsPo Lu2022-04-081-2/+1
| | | | * src/keyboard.c (read_char): Clear `last-event-device' earlier.
* Expose the name of an event's input device to LispPo Lu2022-04-071-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This name can be used to identify the device for special treatment, i.e. only interpolating scrolls coming from mice and not touchpads inside pixel-scroll-precision-mode. * doc/lispref/commands.texi (Command Loop Info): Document new variable `last-event-device'. * etc/NEWS: Announce new variable `last-event-device'. * src/frame.h (struct frame): New field `last_mouse_device'. * src/keyboard.c (read_char): Clear last-event-device. (kbd_buffer_get_event): Set last-event-device to the event's recorded device. (init_keyboard): Clear last-event-device. (syms_of_keyboard): New defvar `last-event-device'. * src/termhooks.h (struct input_event): New field `device'. (EVENT_INIT): Set it to the special value `Qt' by default. * src/xterm.c (x_init_master_valuators): Record the device's name. (x_dnd_begin_drag_and_drop): Only preserve last event device if the mouse ended up in the source frame. (x_note_mouse_movement): New argument `source'. (handle_one_xevent): Set input event sources whenever appropriate. (mark_xterm): Mark device names. * src/xterm.h (struct xi_device_t): New field `name'.
* Move some X11 drag and drop processing to LispPo Lu2022-04-061-0/+35
| | | | | | | | | | | | | | | * lisp/term/x-win.el: Set unsupported drop function. * lisp/x-dnd.el (x-dnd-handle-unsupported-drop): New function. * src/keyboard.c (kbd_buffer_get_event): Handle UNSUPPORTED_DROP_EVENT. * src/termhooks.h (enum event_kind): New event `UNSUPPORTED_DROP_EVENT'. * src/xterm.c (x_dnd_send_unsupported_drop): Send those events instead. (x_dnd_do_unsupported_drop): Move actual unsupported drop handling here. (syms_of_xterm): New variable `x-dnd-unsupported-drop-function'. * src/xterm.h: Update prototypes.
* Make dragging stuff to a window above a frame workPo Lu2022-04-031-14/+24
| | | | | | | | | | | | | | | * doc/lispref/frames.texi (Mouse Tracking): * etc/NEWS: Announce new `drag-source' value of `track-mouse'. * lisp/mouse.el (mouse-drag-and-drop-region): Use new value of `track-mouse' during interprogram drag and drop. * src/keyboard.c (make_lispy_position): Handle nil values of f correctly. * src/xdisp.c (define_frame_cursor1): Ignore if `drag-source' as well. (syms_of_xdisp): New defsym `drag-source'. * src/xterm.c (XTmouse_position): Implement `drag-source'. (mouse_or_wdesc_frame): Likewise.
* Fix a keyboard.c no-X compilation warningLars Ingebrigtsen2022-03-221-1/+1
| | | | | * src/keyboard.c (make_lispy_position): Fix compilation warning in a --without-x build.
* Fix reporting of imaginary key prefixes on toolkit tool and menu barsPo Lu2022-03-021-0/+16
| | | | | | | | | * src/keyboard.c (make_lispy_position): Set imaginary prefix if the terminal says what widget the position is on top of. * src/termhooks.h (struct terminal): New field `toolkit_position_hook'. * src/xterm.c (x_toolkit_position): New function. (x_create_terminal): Register hook.
* ; Fix compilation warningsEli Zaretskii2022-02-201-0/+2
| | | | | * src/keyboard.c (kbd_buffer_get_event): * src/xterm.c (handle_one_xevent): Fix compiler warnings.
* Avoid consing extra string when processing GTK native inputPo Lu2022-02-191-0/+3
| | | | | | | | | | | * src/gtkutil.c (xg_im_context_commit): Use `decode_string_utf8' to decode input text. * src/keyboard.c (kbd_buffer_get_event_1): If coding system is Qt, simply return the string without decoding it. * src/termhooks.h (enum event_kind): Document meaning of Qt as coding system in a multibyte keystroke event's string argument.
* Decode keyboard input as latin-1 whenever appropriatePo Lu2022-02-161-1/+9
| | | | | | | | | | | * src/keyboard.c (kbd_buffer_get_event_1): Use `coding' property if present. * src/termhooks.h (enum event_kind): Document meaning of `coding' property on text strings. * src/xterm.c (handle_one_xevent): Set coding property on text to latin-1 if it was obtained with XLookupString.
* Don't decode text within XIM callbacks or handle_one_xeventPo Lu2022-02-161-4/+63
| | | | | | | | | | | | | | | | | | | | | * src/keyboard.c (kbd_buffer_get_event_1): (kbd_buffer_get_event_2): New functions. (kbd_buffer_get_event): Accept a new meaning of MULTIBYTE_CHAR_KEYSTROKE_EVENT where .arg can be a unibyte string to be decoded in the locale coding system. * src/termhooks.h (enum event_kind): Document new meaning of .arg in a multibyte keystroke event. * src/xfns.c (struct x_xim_text_conversion_data): New struct. (x_xim_text_to_utf8_unix_1): (x_xim_text_to_utf8_unix_2): New functions. (x_xim_text_to_utf8_unix): Handle decode failure correctly. (xic_preedit_draw_callback): Abort IM context if text could not be decoded correctly. * src/xterm.c (handle_one_xevent): Utilize new meaning of MULTIBYTE_CHAR_KEYSTROKE_EVENT.
* Optionally allow point to enter composed character sequencesEli Zaretskii2022-02-121-16/+26
| | | | | | | | | | | | | | | | | | | | This changeset is based on code originally posted by Kenichi Handa <handa@gnu.org> as part of discussing bug#20140, with a few adjustments and changes, mainly to support R2L text and provide a user option to control the feature. * src/xdisp.c (compute_stop_pos, next_element_from_buffer) (composition_reseat_it): Don't allow auto-composing characters past point when 'composition-break-at-point' is non-nil. (syms_of_xdisp) <composition-break-at-point>: New boolean variable. (redisplay_internal, redisplay_window): Disable "just move the cursor" optimizations when 'composition-break-at-point' is non-nil. * src/keyboard.c (command_loop_1): Force redisplay when 'composition-break-at-point' is non-nil. * lisp/cus-start.el (standard): Provide customization form for 'composition-break-at-point'. * etc/NEWS: Announce the new feature.
* Replace ptrdiff_t with new specpdl_ref type for specpdl referencesMattias EngdegÄrd2022-02-121-20/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The specpdl_ref type is just an alias for ptrdiff_t; the compiled code remains the same. All operations on specpdl_ref (arithmetic, comparison etc) now go through inline functions. The bulk of the change is almost completely mechanical. It is done to prepare for a type-safe representation and subsequent performance improvement. * src/lisp.h (specpdl_ref, specpdl_count_to_ref, specpdl_ref_to_count) (specpdl_ref_eq, specpdl_ref_lt, specpdl_ref_valid_p) (make_invalid_specpdl_ref, specpdl_ref_add, specpdl_ref_to_ptr): New. (SPECPDL_INDEX, struct handler, USE_SAFE_ALLOCA, safe_free) (safe_free_unbind_to): * src/alloc.c (run_finalizer_function, inhibit_garbage_collection) (garbage_collect, Fgarbage_collect, which_symbols): * src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start): * src/buffer.c (Fkill_buffer, Fset_buffer_major_mode, Fmove_overlay) (Fdelete_overlay): * src/bytecode.c (exec_byte_code): * src/callint.c (Ffuncall_interactively, Fcall_interactively): * src/callproc.c (Fcall_process, call_process, create_temp_file) (Fcall_process_region): * src/charset.c (load_charset_map_from_file): * src/coding.c (decode_coding_gap, decode_coding_object) (encode_coding_object, Fread_coding_system): * src/comp.c (emit_static_object, helper_unbind_n, load_comp_unit): * src/composite.c (update_compositions, autocmp_chars): * src/cygw32.c (conv_filename_to_w32_unicode) (conv_filename_from_w32_unicode): * src/data.c (notify_variable_watchers): * src/decompress.c (Fzlib_decompress_region): * src/dired.c (directory_files_internal, file_name_completion) (file_attributes): * src/dispnew.c (Fredisplay): * src/doc.c (get_doc_string, Fsnarf_documentation): * src/editfns.c (Fsave_excursion, Fsave_current_buffer) (Freplace_buffer_contents, Fsubst_char_in_region, Fsave_restriction) (styled_format): * src/emacs-module.c (Fmodule_load, funcall_module): * src/emacs.c (init_cmdargs, Fdump_emacs): * src/eval.c (call_debugger, do_debug_on_call, FletX, Flet) (Ffuncall_with_delayed_message, Funwind_protect) (internal_lisp_condition_case, signal_or_quit) (load_with_autoload_queue, Feval, grow_specpdl_allocation) (record_in_backtrace, eval_sub, Ffuncall, apply_lambda) (funcall_lambda, clear_unwind_protect, set_unwind_protect) (set_unwind_protect_ptr, unbind_to, Fbacktrace_eval): * src/fileio.c (Fmake_temp_file_internal, Fcopy_file, Frename_file) (Finsert_file_contents, write_region, Fdo_auto_save): * src/fns.c (Fyes_or_no_p, Frequire, hash_table_user_defined_call): * src/fringe.c (update_window_fringes): * src/gtkutil.c (xg_dialog_run): * src/haiku_io.c (c_specpdl_idx_from_cxx): * src/haiku_support.cc (be_popup_file_dialog): * src/haiku_support.h (c_specpdl_idx_from_cxx): * src/haikufns.c (haiku_create_frame, haiku_create_tip_frame) (haiku_hide_tip, Fx_show_tip, Fhaiku_read_file_name): * src/haikumenu.c (haiku_popup_dialog, set_frame_menubar): * src/image.c (slurp_file): * src/indent.c (line_number_display_width, Fvertical_motion): * src/insdel.c (signal_before_change, signal_after_change) (Fcombine_after_change_execute): * src/intervals.c (get_local_map): * src/json.c (lisp_to_json_nonscalar_1, Fjson_serialize, Fjson_insert) (Fjson_parse_string, Fjson_parse_buffer): * src/keyboard.c (recursive_edit_1, Frecursive_edit, cmd_error) (Finternal_track_mouse, command_loop_1, read_menu_command) (safe_run_hooks, read_event_from_main_queue, read_char, timer_check_2) (menu_item_eval_property, read_key_sequence, read_key_sequence_vs) (Fsuspend_emacs): * src/keymap.c (Fcurrent_active_maps, Fdescribe_vector) (Fhelp__describe_vector): * src/lread.c (Fload, save_match_data_load, readevalloop) (Feval_buffer, Feval_region, grow_read_buffer, read_integer, read1): * src/macros.c (Fexecute_kbd_macro): * src/menu.c (x_popup_menu_1): * src/minibuf.c (read_minibuf, set_minibuffer_mode) (read_minibuf_unwind, Fread_string, Fread_buffer): * src/nsfns.m (Fx_create_frame, Fx_show_tip): * src/nsmenu.m (ns_update_menubar, ns_menu_show, ns_popup_dialog): * src/pdumper.c (Fdump_emacs_portable): * src/pgtkfns.c (Fx_create_frame, x_create_tip_frame, x_hide_tip) (Fx_show_tip, Fpgtk_print_frames_dialog, Fx_file_dialog, Fx_select_font): * src/pgtkmenu.c (set_frame_menubar, create_and_show_popup_menu) (pgtk_menu_show, create_and_show_dialog, pgtk_dialog_show) (pgtk_popup_dialog): * src/pgtkterm.c (pgtk_cr_export_frames): * src/print.c (PRINTPREPARE, temp_output_buffer_setup) (Fprin1_to_string, print_vectorlike): * src/process.c (Fmake_process, create_process, Fmake_pipe_process) (Fmake_serial_process, connect_network_socket, Fmake_network_process) (network_interface_info, server_accept_connection) (wait_reading_process_output, read_process_output, exec_sentinel): * src/regex-emacs.c (re_match_2_internal): * src/search.c (looking_at_1, fast_looking_at, search_buffer_re): * src/sound.c (Fplay_sound_internal): * src/sysdep.c (system_process_attributes): * src/term.c (tty_menu_show): * src/textprop.c (Fnext_single_char_property_change) (Fprevious_single_char_property_change, add_text_properties_1) (set_text_properties, set_text_properties_1, Fremove_text_properties) (Fremove_list_of_text_properties): * src/thread.c (Fmutex_lock, invoke_thread_function): * src/undo.c (truncate_undo_list): * src/w32fns.c (Fx_create_frame, w32_create_tip_frame, w32_hide_tip) (Fx_show_tip, Fx_file_dialog): * src/w32font.c (Fx_select_font): * src/w32menu.c (set_frame_menubar): * src/window.c (window_list, next_window, window_list_1) (run_window_configuration_change_hook, Frun_window_scroll_functions) (run_window_change_functions, set_window_buffer) (temp_output_buffer_show, window_scroll, scroll_command) (Fscroll_other_window, Fscroll_other_window_down): * src/xdisp.c (safe__call, handle_fontified_prop, handle_face_prop) (handle_single_display_spec, Fbuffer_text_pixel_size) (message_dolog, with_echo_area_buffer, setup_echo_area_for_printing) (display_echo_area, set_message, clear_message, echo_area_display) (gui_consider_frame_title, prepare_menu_bars, update_menu_bar) (update_tab_bar, update_tool_bar, redisplay_internal) (redisplay_preserve_echo_area, run_window_scroll_functions) (redisplay_window, extend_face_to_end_of_line) (display_count_lines_logically, display_count_lines_visually) (display_mode_lines, display_mode_line, Fformat_mode_line) (decode_mode_spec): * src/xfns.c (Fx_create_frame, x_create_tip_frame, x_hide_tip) (Fx_show_tip, Fx_file_dialog, Fx_select_font, Fx_print_frames_dialog): * src/xmenu.c (set_frame_menubar, create_and_show_popup_menu) (x_menu_show, create_and_show_dialog, x_dialog_show) (xw_popup_dialog): * src/xselect.c (x_get_local_selection, x_reply_selection_request) (x_handle_selection_request, wait_for_property_change): * src/xterm.c (x_cr_export_frames, x_connection_closed): Replace ptrdiff_t with specpdl_ref for referencing specpdl and use the corresponding functions instead of direct arithmetic.
* Revert "Don't output spurious prefixes in read-char-exclusive"Lars Ingebrigtsen2022-01-271-7/+6
| | | | | | | This reverts commit 701ec0bda2b15fc97af6ca68fb842fb1ec9aac35. This change broke display of `C-q-' when doing the `C-q' command, so it has to be fixed a different way.
* Don't output spurious prefixes in read-char-exclusiveLars Ingebrigtsen2022-01-241-6/+7
| | | | | | | | * src/keyboard.c (read_char): Don't touch the echo area if Vecho_keystrokes is nil. * src/lread.c (read_filtered_event): Bind echo_keystrokes to nil to avoid outputting prefixes we're not going to act on anyway (bug#19718).
* Merge branch 'master' into scratch/correct-warning-posscratch/correct-warning-posAlan Mackenzie2022-01-221-12/+35
|\
| * * src/keyboard.c (start_polling): Fix type mixup.Glenn Morris2022-01-211-1/+1
| | | | | | | | Flagged by --enable-check-lisp-object-type.
| * * src/keyboard.c (syms_of_keyboard): Fix build without input polling.Po Lu2022-01-211-0/+2
| |
| * Allow fractional values of `polling-period'Po Lu2022-01-211-12/+33
| | | | | | | | | | | | | | | | | | | | | | | | This allows C-g to be handled faster in the NS port at the cost of some extra CPU time on slow machines. * etc/NEWS: Announce new feature. * src/keyboard.c (start_polling): (bind_polling_period): Handle floating point values of `polling-period'. (syms_of_keyboard): Make `polling-period' a Lisp variable instead of an int variable.
* | Merge branch 'master' into scratch/correct-warning-posAlan Mackenzie2022-01-111-1/+151
|\ \ | |/
| * Display pre-edit information from X input methodsPo Lu2022-01-071-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This also repurposes the `pgtk-preedit-text' event to be meaningful on X, renames it `preedit-text', and documents it. * doc/lispref/commands.texi (Misc Events): Document `preedit-text'. * lisp/term/pgtk-win.el (pgtk-preedit-text): Bind to `preedit-text' instead. * lisp/term/x-win.el (x-preedit-overlay): New variable. (x-preedit-text): New command, bound as a special event to `preedit-text'. * src/keyboard.c (kbd_buffer_get_event): (make_lispy_event): Rename PGTK_PREEDIT_TEXT_EVENT PREEDIT_TEXT_EVENT. (syms_of_keyboard): New defsym `preedit-text'. * src/pgtkterm.c (pgtk_enqueue_preedit): Use PREEDIT_TEXT_EVENT instead. * src/termhooks.h (enum event_kind): Rename `PGTK_PREEDIT_TEXT_EVENT' `PREEDIT_TEXT_EVENT'. * src/xfns.c (Xxic_preedit_draw_callback): (Xxic_preedit_caret_callback): (Xxic_preedit_done_callback): (Xxic_preedit_start_callback): New callback variables. (STYLE_OFFTHESPOT, STYLE_OVERTHESPOT): (STYLE_ROOT, STYLE_CALLBACK, STYLE_NONE): New macros. (supported_xim_styles): Use reasonable values. This also serves as a better fix for bug#10867. (best_xim_style): Restore code deleted as part of the original fix for bug#10867. (create_frame_xic): Add preedit callbacks. (xic_set_preeditarea): Add preedit callbacks. (x_xic_to_frame): (xic_preedit_start_callback): (xic_preedit_caret_callback): (xic_preedit_done_callback): (x_xim_text_to_utf8_unix): (xic_preedit_draw_callback): New functions. * src/xterm.c (x_detect_focus_change): Fix type of XI event. (x_free_frame_resources): Free preedit text buffer if still present. * src/xterm.h (struct x_output): New fields `preedit_size', `preedit_chars' and `preedit_active'.
| * Merge from origin/emacs-28Eli Zaretskii2022-01-011-1/+1
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 836be7a112 ; * etc/refcards/ru-refcard.tex: Update Copyright year. 86cbc6ee4a * lisp/net/tramp-sh.el: Adapt copyright year ebe8772f65 ; Minor fixes related to copyright years 23c1ee6989 ; * test/manual/etags/ETAGS.good_N: Adjust to copyright ye... 8d3fc7ec89 * src/xfaces.c (face_for_font): Make 'hash' be uintptr_t. 19dcb237b5 ; Add 2022 to copyright years. # Conflicts: # etc/NEWS # etc/refcards/ru-refcard.tex # lib/cdefs.h # lisp/erc/erc-dcc.el # lisp/erc/erc-imenu.el # lisp/erc/erc-replace.el # lisp/image-dired.el # lisp/progmodes/xref.el # m4/alloca.m4 # m4/byteswap.m4 # m4/errno_h.m4 # m4/getopt.m4 # m4/gnulib-common.m4 # m4/inttypes.m4 # m4/stddef_h.m4 # m4/stdint.m4 # m4/sys_socket_h.m4
| | * ; Add 2022 to copyright years.Eli Zaretskii2022-01-011-1/+1
| | |
| * | Accumulate deltas in pinch events that were skippedPo Lu2021-12-261-3/+23
| | | | | | | | | | | | | | | * src/keyboard.c (kbd_buffer_get_event): Accumulate relative deltas inside skipped events when coalescing them.
| * | Coalesce pinch gestures in the keyboard bufferPo Lu2021-12-261-0/+36
| | | | | | | | | | | | | | | * src/keyboard.c (kbd_buffer_get_event): Coalesce consecutive pinch gesture events.
| * | Add support for pinch gestures to the XI2 buildPo Lu2021-12-261-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/commands.texi (Misc Events): Document new event type `pinch'. * etc/NEWS: Announce new event `pinch'. * etc/PROBLEMS: Document problems with mismatched libXi versions. * lisp/face-remap.el (text-scale--pinch-start-scale): New variable. (text-scale-pinch): New command. * src/keyboard.c (make_lispy_event): Handle PINCH_EVENTs. (syms_of_keyboard): New symbol `pinch'. * src/termhooks.h (enum event_kind): New enum `PINCH_EVENT'. * src/xfns.c (setup_xi_event_mask): Add pinch events to event mask if available. * src/xterm.c (handle_one_xevent): Handle pinch events.
| * | Merge remote-tracking branch 'origin/master' into feature/pgtkPo Lu2021-12-171-0/+43
| |\ \
| | * | Add support for touchscreen events generated by XInput 2Po Lu2021-12-171-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/commands.texi (Input Events): Add "Touchscreen Events" to menu. (Touchscreen Events): New node. * etc/NEWS: Announce new event types. * src/keyboard.c (make_lispy_event): Handle touchscreen events. (syms_of_keyboard): New symbols `touchscreen-begin', `touchscreen-end' and `touchscreen-update'. * src/termhooks.h (enum event_kind): New touchscreen events. * src/xfns.c (setup_xi_event_mask): Set up touch event mask if appropriate. (x_window) [USE_GTK]: Call `setup_xi_event_mask'. * src/xterm.c (x_free_xi_devices): Free touchpoints. (x_init_master_valuators): Handle all devices and set master and touch mode flags appropriately. (xi_reset_scroll_valuators_for_device_id): (x_get_scroll_valuator_delta): Ignore slave devices. (xi_link_touch_point): (xi_unlink_touch_point): (xi_find_touch_point): New functions. (handle_one_xevent): Handle XI touch events and events from non-master devices. * src/xterm.h (struct xi_touch_point_t): New structure. (struct xi_device_t): Add touchpoints field.
| * | | Merge remote-tracking branch 'origin/master' into feature/pgtkPo Lu2021-12-021-0/+17
| |\ \ \ | | |/ /
| | * | Add `touch-end' event typePo Lu2021-12-021-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * etc/NEWS: * doc/lispref/commands.texi (Misc Events): Document new `touch-end' event type. * lisp/bindings.el: Ignore touch-end events by default. * src/keyboard.c (make_lispy_event): Add support for TOUCH_END_EVENT events. (syms_of_keyboard): New symbol `touch-end'. * src/termhooks.h (enum event_kind): New member `TOUCH_END_EVENT'. * src/xterm.c (handle_one_xevent): Send touch-end events when appropriate.
| * | | Merge remote-tracking branch 'origin/master' into feature/pgtkPo Lu2021-12-011-0/+6
| |\ \ \ | | |/ /
| | * | Support precision mouse scrolling on MS-WindowsEli Zaretskii2021-12-011-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/w32fns.c (w32_wnd_proc): Pass the WM_SETTINGCHANGE message to the Lisp thread. * src/w32term.c (w32_construct_mouse_wheel): Support mice with precision scrolling wheel. (w32_get_mouse_wheel_vertical_delta): New function. (w32_read_socket): When the WM_SETTINGCHANGE is received, call 'w32_get_mouse_wheel_vertical_delta'. (w32_initialize): Call 'w32_get_mouse_wheel_vertical_delta' at startup. * src/nsterm.m (syms_of_nsterm): * src/haikuterm.c (syms_of_haikuterm): * src/xterm.c (syms_of_xterm): Remove window-system specific variables for coalescing mwheel events. * src/keyboard.c (syms_of_keyboard) <mwheel-coalesce-scroll-events>: New variable, to replace the above platform-specific ones. * doc/lispref/commands.texi (Misc Events): Improve wording of the description of mouse-wheel events.
| * | | Merge remote-tracking branch 'origin/master' into feature/pgtkPo Lu2021-11-301-23/+32
| |\ \ \ | | |/ /
| * | | Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs into feature/pgtkYuuki Harano2021-11-111-92/+211
| |\ \ \
| * \ \ \ Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtkYuuki Harano2021-07-251-26/+56
| |\ \ \ \
| * \ \ \ \ Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtkYuuki Harano2021-07-181-4/+5
| |\ \ \ \ \
| * \ \ \ \ \ Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtkYuuki Harano2021-06-131-24/+98
| |\ \ \ \ \ \
| * \ \ \ \ \ \ Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtkYuuki Harano2021-05-291-13/+0
| |\ \ \ \ \ \ \
| * \ \ \ \ \ \ \ Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtkYuuki Harano2021-04-271-5/+2
| |\ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtkYuuki Harano2021-04-251-1/+1
| |\ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtkYuuki Harano2021-03-211-0/+6
| |\ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtkYuuki Harano2021-03-141-2/+1
| |\ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtkYuuki Harano2021-01-101-7/+1
| |\ \ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ \ Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtkYuuki Harano2021-01-031-2/+3
| |\ \ \ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ \ \ Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtkYuuki Harano2020-12-211-0/+7
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ \ \ \ Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtkYuuki Harano2020-12-141-58/+3
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | | * src/keyboard.c (make_lispy_event): Fix coding styleYuuki Harano2020-11-241-1/+1
| | | | | | | | | | | | | | | | |