Commit graph

37 commits

Author SHA1 Message Date
Jan Trefil
f1c11f0dc1 Prevent datagram races by never reusing device IDs 2024-07-21 16:21:02 +02:00
Jan Trefil
c4bad45532 Make datagram support configurable 2024-07-21 15:57:53 +02:00
Jan Trefil
897eb0a68e Port rkvm to QUIC 2024-07-21 15:50:50 +02:00
Jan Trefil
607e1fb14c Add support for key autorepeat (EV_REP - REP_DELAY and REP_PERIOD) 2023-12-02 14:23:11 +01:00
Jan Trefil
1c148cf3a3 Add example config tests 2023-10-14 10:46:36 +02:00
Jan Trefil
e46d14bb14 Add an option to disable propagation of switch keys 2023-10-14 10:41:25 +02:00
Jan Trefil
5aff99e218 Improve logging 2023-10-12 19:14:50 +02:00
Jan Trefil
99d5e39ab1 Improve client switch log message 2023-10-12 09:26:01 +02:00
Jan Trefil
9560c761e5 Implement application layer timeouts 2023-10-11 09:09:18 +02:00
Jan Trefil
65083f47c1 Remove TCP keepalive socket timeouts 2023-09-30 10:00:23 +02:00
Jan Trefil
59d5b6b6d7 Switch to tracing 2023-09-09 11:07:43 +02:00
Jan Trefil
fed31254d6 Refactor keys, buttons, raw codes 2023-09-02 14:42:08 +02:00
htrefil
aa5def347a
Merge pull request #44 from ckiee/remove-dead-peers
rkvm-{server,client}: Remove dead peers quickly
2023-08-24 08:47:29 +02:00
Jan Trefil
de45d872c3 Move socket configuration to a dedicated function in rkvm-net 2023-08-24 08:46:51 +02:00
Jan Trefil
836f99c46f Make switch keys kebab-case and include buttons 2023-08-22 19:42:49 +02:00
Jan Trefil
ad4d36298c Fix switch keys not being released 2023-08-22 19:04:59 +02:00
ckie
c4ff4232ae
rkvm-{server,client}: Remove dead peers quickly
I use rkvm on a machine which hangs multiple times a day, leaving no
TCP FIN or RSTs behind.

Previously, the UX got very confusing once I rebooted the machine, because
it captured inputs without forwarding them anywhere live.

It's unfortunate that the TCP settings aren't shared between the client
& server because keepalive settings should be consistent to avoid one
peer disconnecting and the other waiting longer before timing out.
2023-08-22 18:54:47 +03:00
Jan Trefil
9b9a63ace8 Implement multitouch events 2023-06-20 19:47:37 +02:00
Jan Trefil
2b20ba1f1b Implement abs events 2023-06-11 14:02:10 +02:00
Jan Trefil
046c5e71ba Sent -> Wrote 2023-05-13 18:10:18 +02:00
Jan Trefil
458b7bf0e8 Disable the Nagle algorithm 2023-05-13 18:00:14 +02:00
Jan Trefil
27187ccd73 Disable TCP linger 2023-05-13 17:42:55 +02:00
Jan Trefil
e426d94fae Log server events 2023-05-13 12:19:29 +02:00
Jan Trefil
0604bd98ab Rename EventPack to EventBatch 2023-05-13 12:02:27 +02:00
Jan Trefil
60f9e20b0e Improve message for failed auth error 2023-04-22 14:05:01 +02:00
Jan Trefil
c210f2c85a Implement client IO timeout, improve logs 2023-04-22 14:03:57 +02:00
Jan Trefil
8299a89b19 Fix client switching 2023-04-19 23:29:24 +02:00
Jan Trefil
04dabc9b9c Add support for multiple switch keys 2023-04-19 21:44:22 +02:00
Jan Trefil
c9cfa4dd69 Fix SYN events, high res mouse scrolling 2023-04-18 20:30:24 +02:00
Jan Trefil
1bcc9103b4 Add --shutdown flag 2023-04-18 20:29:41 +02:00
Jan Trefil
26e9e78271 Implement authentication 2023-04-17 19:52:57 +02:00
Jan Trefil
37d741eb97 Refactor rkvm-net 2023-04-16 19:29:27 +02:00
Jan Trefil
983fc41a35 Fix event writing condition 2023-04-16 18:51:27 +02:00
Jan Trefil
b8a403ae7d Refactor client 2023-04-16 18:21:13 +02:00
Jan Trefil
b6c7ff6f85 Refactor server 2023-04-16 17:36:08 +02:00
Jan Trefil
437c3398f0 Use clap for arg parsing in server, get rid of default values 2023-04-16 12:48:31 +02:00
Jan Trefil
ae5ce0bed7 Update deps, use consistent rkvm- prefix for crates 2023-04-16 12:29:45 +02:00