mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-05 22:20:24 -08:00
In this new version I changed the way events are handled. Now llk-handle generates input events to be used with normal keymaps, instead of running a command. The function llk-bind activates event generation for a key and a combination of events press, release, double, triple. I also made changes following your notes, such as: - Clarification on the event's time, documentation of keysyms variables moved, don't limit to GUI systems. - cl-defstruct for the event payload. - Format and naming conventions. - Default timeout to mouse double click timeout. You suggested to auto generate the keysym table, but we would still need a table to relate the Windows keys to the X equivalent. * doc/lispref/commands.texi (Misc Events): Adjust to new semantics. * src/keyboard.c (syms_of_keyboard): Adust docstring. FIXME: Old commit msg. * lisp/low-level-key.el (New file). (low-level-key): Struct with event data. (llk-bindings): User bindings for low level key events. (llk-tap-timeout): User option. (llk-keysyms): List of available keysyms. (llk--define-xk): Macro for defining keysyms. (llk--define-keysyms): Build llk-keysyms. (llk-bind): Function to create a binding. (llk--event-history-for-tap): Event history for tap detection. (llk--detect-n-tap): Function to detect taps. (describe-low-level-key): Command to get information about a key. (llk--describe): Show help buffer with information about an event. (llk-handle): Handler for key events. (llk--generate-event): Generate input event for key. (llk--generate-events): Generate input events for key. |
||
|---|---|---|
| .. | ||
| emacs | ||
| lispintro | ||
| lispref | ||
| man | ||
| misc | ||
| translations | ||