Kovid Goyal 16008b950a Wayland: Fix spurious key repeat events when some user defined callback takes a long time to execute
On compositors that support compositor key repeat events, use those, for
complete robustness. Sadly no actual compositor implements these yet.

Otherwise use a timer fd/pipe to queue the repeat events and only
dispatch them after events from the compositor are handled. This means
release events from the compositor will prevent spurious repeat events.
One can, in the worst case lose some repeat events if there is a very
large interval between the start of the timer and the next poll, but
that is unavoidable and is why repeat events should come from the compositor
in the first place.

Fixes #9224
2025-12-03 22:26:09 +05:30
...
2024-07-14 12:34:24 +05:30
2025-11-28 21:01:11 +05:30
2025-12-02 23:37:53 +05:30
2023-11-11 08:32:05 +05:30
2025-05-30 10:06:38 +05:30
2023-06-14 03:39:53 +06:00
2023-07-29 14:16:25 +05:30
2025-11-27 09:33:15 +05:30
2021-09-23 20:31:13 +05:30
2021-09-28 14:23:49 +05:30
2023-07-29 14:16:25 +05:30
2025-10-07 20:20:19 +05:30
...
2025-09-14 21:31:43 +05:30
2024-03-28 19:36:07 +05:30
2025-08-13 07:10:16 +05:30
2022-11-14 15:42:01 +05:30
2022-11-14 15:41:53 +05:30

= kitty - the fast, feature-rich, cross-platform, GPU based terminal

If you live in the terminal, *kitty* is made for **you**!

See https://sw.kovidgoyal.net/kitty/[the kitty website].

image:https://github.com/kovidgoyal/kitty/workflows/CI/badge.svg["Build status", link="https://github.com/kovidgoyal/kitty/actions?query=workflow%3ACI"]

https://sw.kovidgoyal.net/kitty/faq/[Frequently Asked Questions]

To ask other questions about kitty usage, use either the https://github.com/kovidgoyal/kitty/discussions/[discussions on GitHub] or the
https://www.reddit.com/r/KittyTerminal[Reddit community]

Packaging status in various repositories:

image:https://repology.org/badge/vertical-allrepos/kitty-terminal.svg?columns=3&header=kitty["Packaging status", link="https://repology.org/project/kitty-terminal/versions"]
Languages
Python 38.9%
C 28.1%
Go 25.8%
Objective-C 5.4%
Shell 1.1%
Other 0.6%