-
Notifications
You must be signed in to change notification settings - Fork 40
Open
Labels
WindowsemulatorEmulator driver for using keyplus on any keyboardEmulator driver for using keyplus on any keyboard
Description
Two approaches that might work:
Method 1 - Input APIs
- Raw Input to read HID codes from devices
- BlockInput to prevent the original behaviour of keys being generated
- SendInput to generate new keyboard/mouse events.
Pros:
- runs in user-space
- should be easy to implement.
Cons:
BlockInputandSendInputdon't work when a UAC prompt is active, nor whenCtrl+Alt+Delcombination is used.BlockInputblocks all input devices, so need to forward events of all devices that we aren't remapping.- Might not work correctly with some applications depending on how they handle keyboard input.
Method 2 - Filter driver
Write a Keyboard and Mouse Filter Drivers.
Pros:
- The OS should treat the virtual keyboard and mouse the same way as real hardware.
- Should work in UAC and when
Ctrl+Alt+Delis pressed.
Cons:
- Filter drivers run in kernal-space, so harder to work with. A driver crash means the OS crashes, aka BSOD.
- A user-space program to communicate with the driver will be needed, so more complexity.
- Might be harder to install??
Other considerations
Microsoft's C compiler MSCV only has partial support for C99, so some keyplus code may not compile. To work around, will need to either rewrite some code, or compile it as C++ code.
Metadata
Metadata
Assignees
Labels
WindowsemulatorEmulator driver for using keyplus on any keyboardEmulator driver for using keyplus on any keyboard