Julian Orth
0e1be7544f
backend: add ButtonState
2025-10-16 19:50:21 +02:00
Julian Orth
c2d5848329
metal: improve buffer allocation logging
2025-09-13 14:13:22 +02:00
Julian Orth
11c10fde70
metal: enable keyboard LEDs
2025-09-07 12:41:31 +02:00
Julian Orth
7ab99bb840
backend: implement output transactions
2025-07-12 08:15:22 +02:00
Julian Orth
e95e764b46
drm: add ObjectChangeValue
2025-07-12 08:15:22 +02:00
Julian Orth
286857971a
all: use let chains
2025-07-01 11:20:48 +02:00
Stipe Kotarac
b20153550e
input: add click method and middle button emulation
2025-05-14 14:17:49 +02:00
Julian Orth
0524e01a3c
metal: sort InputDevice functions
2025-05-14 14:07:25 +02:00
Julian Orth
419d75949c
reexec: close evdev fds in a separate process
2025-04-24 17:44:52 +02:00
Julian Orth
dee0066f1a
tablet: implement version 2
2025-04-22 22:59:55 +02:00
Julian Orth
09e5f89174
all: use trait upcasting
2025-04-03 17:03:32 +02:00
Julian Orth
3338909170
all: set rust edition to 2024
2025-02-21 10:44:29 +01:00
Julian Orth
ccad3cf0fb
all: use tracy for tracing
2024-09-15 18:08:54 +02:00
Julian Orth
3fcc6d6e36
wl_surface: dispatch frame requests from vblank event handlers
2024-09-11 23:58:45 +02:00
Julian Orth
a1985b2870
metal: disable implicit sync in KMS
2024-09-10 23:38:26 +02:00
Julian Orth
0dc5d9adb8
metal: wait for rendering to complete before committing buffers
2024-09-10 23:38:10 +02:00
Julian Orth
9bab4f7ce1
metal: preserve mode across reconnects
2024-09-04 21:43:04 +02:00
Amine Hassane
681c1ad033
wayland: implement wl_touch
...
Co-authored-by: Julian Orth <ju.orth@gmail.com>
2024-07-21 02:00:47 +02:00
Julian Orth
bb9e6ba3b5
all: fetch current time only once per iteration
2024-07-12 20:05:31 +02:00
Julian Orth
0d7a07ec40
all: add HashMapExt
2024-05-08 15:59:43 +02:00
Julian Orth
4fd3754309
metal: initialize initially paused input devices
2024-05-04 10:37:19 +02:00
Julian Orth
7ed499eabd
wayland: implement tablet-v2
2024-05-03 11:16:07 +02:00
Julian Orth
3473b89fb9
all: clear more reference cycles at shutdown
2024-05-02 21:20:47 +02:00
Julian Orth
ba98103233
tree: make surface visibility tracking more robust
2024-03-29 21:17:45 +01:00
Julian Orth
1b4492c670
render: propagate errors
2024-03-27 18:15:53 +01:00
Julian Orth
efae1cd16a
cli: add an input subcommand
2024-03-12 17:43:26 +01:00
Julian Orth
283e438d1b
backend: add syspath and devnode to input devices
2024-03-12 16:37:16 +01:00
Julian Orth
813f87faaa
backend: make input device properties readable
2024-03-12 16:16:21 +01:00
Julian Orth
da84e9ec27
metal: implement direct scanout
2024-02-19 12:30:37 +01:00
Julian Orth
01e3930ced
wayland: run idle code unconditionally
2024-02-15 18:40:29 +01:00
Julian Orth
bf90204db6
video: always use correct modifiers
2024-02-08 15:24:02 +01:00
Julian Orth
78b557b4a1
input: implement wl_seat version 9
2024-02-04 19:56:45 +01:00
Julian Orth
887e2b6cbc
input: add support for natural scrolling
...
Closes #69
2024-02-04 18:50:52 +01:00
Julian Orth
24e410a5b5
render: hide graphics API behind traits
2023-10-22 20:42:35 +02:00
Julian Orth
d650b3375d
render: split module into gfx_apis and renderer
2023-10-22 20:28:32 +02:00
Julian Orth
9812a02f87
io: use io_uring for all io
...
There should no longer be any
- read
- write
- connect
- sendmsg
- recvmsg
- accept
calls in the codebase. Previously we were using a mix of io_uring and
these calls which had some negative effects: Since we were using the old
system calls, we had to set the file descriptors to non-blocking. But
our io_uring code did not handle EAGAIN. This lead to programs sometimes
being killed when the wayland IO was actually blocking.
Now all file descriptors are set to blocking, but io_uring makes it
non-blocking from our perspective. The one exception are evdev files
because they are read via libinput and libinput uses the old system
calls.
2022-12-31 17:56:58 +01:00
Julian Orth
c6c87bdaa1
backend: add DevicesEnumerated event
2022-11-13 16:53:02 +01:00
Julian Orth
6cc97ee56e
metal,config: allow enabling tap-to-click
2022-06-01 14:29:56 +02:00
Julian Orth
145e4dbc24
wayland: add times to all input events
2022-05-26 12:25:59 +02:00
Julian Orth
9db389835d
tree,metal: handle monitor hotplug
2022-05-19 16:54:13 +02:00
Julian Orth
e5c0916a25
all: fix memory leaks
2022-05-18 22:42:36 +02:00
Julian Orth
dcdd91c0b0
io-uring: add readable/writable
2022-05-12 20:33:58 +02:00
Julian Orth
e27cf29693
config: tell the config about drm devices
2022-05-10 16:43:09 +02:00
Julian Orth
5e21e00059
config: generate graphics-initialized event in the frontend
2022-05-06 17:15:13 +02:00
Julian Orth
d2913449ea
metal: handle gpu reset
...
Unfortunately this doesn't seem to work on amdgpu [1]. I've tested that
it works on i915.
[1] https://gitlab.freedesktop.org/drm/amd/-/issues/1749
2022-05-06 16:45:56 +02:00
Julian Orth
e1d5bf0e5d
autocommit 2022-05-01 17:23:55 CEST
2022-05-01 17:23:55 +02:00
Julian Orth
1242a6c1e1
autocommit 2022-04-28 19:49:51 CEST
2022-04-28 19:49:51 +02:00
Julian Orth
324eb835bb
autocommit 2022-04-27 20:37:49 CEST
2022-04-27 20:37:49 +02:00
Julian Orth
57899b3f35
autocommit 2022-04-27 18:04:02 CEST
2022-04-27 18:04:02 +02:00
Julian Orth
50b792db78
autocommit 2022-04-16 13:42:13 CEST
2022-04-16 13:42:13 +02:00