Commit Graph

91 Commits

Author SHA1 Message Date
bjorn3 1f25a69feb Fix UB in the ps2d vmmouse implementation
The vm call will clobber edi, which is the register in which we saved
the ebx value. Also make sure to preserve the entire rbx value, rather
than just the lower half in ebx.
2024-07-16 15:43:50 +02:00
bjorn3 fd8dabd1bc Use the new scheme format in most places
The graphics subsystem still uses the old format as orbital manually
parses the fpath result.
2024-07-11 21:14:45 +02:00
Jeremy Soller ab0b156159 ps2d: reduce timeouts 2024-06-17 12:42:23 -06:00
Jeremy Soller 32b7cc3b77 ps2d: fix typo 2024-04-10 10:38:05 -06:00
Jeremy Soller 5612346e68 ps2d: implement vmmouse for i686 2024-03-29 10:10:13 -06:00
Jacob Lorentzon ff956fd3bb Switch to libredox where applicable (fixed) 2024-03-18 22:09:25 +00:00
Jeremy Soller 98078650f8 Revert "Switch to libredox where applicable."
This reverts commit 2e7dbf1cc1.
2024-03-18 15:00:52 -06:00
4lDO2 2e7dbf1cc1 Switch to libredox where applicable. 2024-03-18 19:23:05 +01:00
bjorn3 7a21573ebd Switch to absolute mouse events by default when running in a VM
This will transparently release the mouse grab of the VM when leaving
the screen edge, making it much easier to quickly switch between the VM
and other apps running on the host.
2024-01-12 18:33:29 +01:00
bjorn3 c2fd9125a7 Fix absolute mouse events with vmmouse
It is no longer possible to query the display size from inputd, so defer
conversion to display pixel coordinates to orbital instead. This also
avoids a lot of work every mouse event to query the display size as
orbital saves this information already.
2024-01-12 18:31:08 +01:00
bjorn3 bc7469f7cd Switch vmmouse global_asm block back to inline asm
There seems to be a bug somewhere in the global_asm block which causes a
SIGSEGV when making unrelated code changes to ps2d. Using an inline asm
block is easier to follow and less error prone around following the
calling convention.
2024-01-12 18:28:17 +01:00
Jeremy Soller 9422366782 ps2d: fix build on non-x86_64 2024-01-11 09:29:12 -07:00
bjorn3 7d4dd990e0 Try to enable vmmouse by default
This doesn't enable absolute mouse events yet as orbitral doesn't handle
them correctly.
2024-01-10 20:23:04 +01:00
bjorn3 f970a9c571 Check for vmware backdoor support before trying to enable vmmouse 2024-01-10 20:22:14 +01:00
bjorn3 8088cb8b20 Fix missing ret in global_asm block
This caused ps2d to get stuck in a crash loop when it's vmmouse support
is enabled.
2024-01-10 20:21:39 +01:00
Anhad Singh 2f2720263f drivers: add inputd
Take out the input coalescing from `vesad` into `inputd`.

Signed-off-by: Anhad Singh <andypython@protonmail.com>
2023-07-05 11:12:53 +10:00
Anhad Singh 7cc2f4eff7 virtio-gpu: start working on the scheme
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2023-07-03 17:12:59 +10:00
Jeremy Soller 089280a62c Pass-through volume keys 2022-11-22 13:35:40 -07:00
Jeremy Soller cd3bfc04fc ps2: Ensure that scancode set is always translated to orbital constants 2022-11-22 13:14:19 -07:00
Jeremy Soller 43704e56f0 ps2: Handle extended (prefixed with 0xE0) keycodes 2022-11-22 12:15:53 -07:00
Jeremy Soller c651590cbd Fix booting on systems which always return 0xFF from ps2 ports 2022-09-21 15:57:09 -06:00
Jeremy Soller 4d05737b63 ps2d: Increase timeouts 2022-09-09 09:29:10 -06:00
Jeremy Soller 303b5ae6b8 ps2d: Improve timing and control over device scanning 2022-09-08 18:19:47 -06:00
Jeremy Soller 80c60f0111 ps2d: Set resolution and scaling instead of using defaults 2022-09-08 10:40:03 -06:00
Jeremy Soller a0300e2d9c ps2d: Use thread::yield_now to ensure delays are acceptable 2022-09-08 10:08:12 -06:00
Jeremy Soller 49ba91b0ee Improvements to ps2 mouse init 2022-09-08 09:55:06 -06:00
Jeremy Soller 7c1707c7de Ignore some ps2 init errors to improve compatibility 2022-08-23 07:58:24 -06:00
4lDO2 21e30b7339 Replace syscall::clone() with libc::fork(). 2022-07-27 16:25:01 +02:00
Jeremy Soller 860821c150 Support compilation on more architectures 2022-07-26 16:01:54 -06:00
Jeremy Soller aedeb00e58 ps2d: Fix issue with VirtualBox controller init 2022-05-02 13:37:16 -06:00
Jeremy Soller 465aaa6d34 Make config and set_config retry, switch timeouts to spin loops 2022-04-28 08:20:20 -06:00
Jeremy Soller 568203d91b Make ps2d compatible with more laptops 2022-04-27 21:50:32 -06:00
Jeremy Soller 2ad84308bf Daemonize ps2d before doing ps2 init 2022-04-27 20:38:41 -06:00
Jeremy Soller 64f40c584b Fix ps2d daemon name in log messages 2022-04-27 15:12:52 -06:00
Jeremy Soller 0e9e91ddef Improve ps2d retries, fixes a few PS/2 mice 2022-04-27 15:07:25 -06:00
Jeremy Soller 59d3260722 Increase ps2d timeouts 2022-04-25 09:11:24 -06:00
4lDO2 d426ffacea Update toolchain to 2022-03-18. 2022-03-19 15:06:29 +01:00
Jeremy Soller 0e6698de64 ps2d: Wait for ps2 initialization before sending daemon ready 2022-03-01 21:46:15 -07:00
Jeremy Soller 76d46d9236 p2sd: disable second port if no mouse found 2022-03-01 21:41:55 -07:00
Jeremy Soller 397f45e19d p2sd: fixes for mouseless systems 2022-03-01 21:34:53 -07:00
Jeremy Soller c69ee40684 Print out selected keymap 2022-03-01 20:56:08 -07:00
Jeremy Soller 0ff0c42ce6 p2sd: Add timeout handling 2022-03-01 20:34:13 -07:00
4lDO2 7a2b3d7656 Update dependencies. 2021-06-17 18:18:27 +02:00
Jeremy Soller be101621cc Update to newer syscall 2020-08-02 15:25:03 -06:00
Jeremy Soller bbec25fa3b ps2d: better error logging 2020-07-15 22:24:12 -06:00
Jeremy Soller 751f5490bd Disable vmmouse again, for performance 2020-04-20 13:00:34 -06:00
Jeremy Soller af039d9507 Support relative vmmouse mode, and use by default 2020-04-20 11:24:18 -06:00
Jeremy Soller 9150f7cc85 Use serio: from kernel 2020-04-20 11:23:29 -06:00
Jeremy Soller a6dbe788f6 Undo some changes 2020-04-20 11:23:15 -06:00
Jeremy Soller 255e5fcb68 WIP: ps2d interrupt fixes 2020-04-19 14:27:44 -06:00