The OS should treat the virtual keyboard and mouse the same way as real hardware.
Should work in UAC and when Ctrl+Alt+Del is 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.
Two approaches that might work:
Method 1 - Input APIs
Pros:
Cons:
BlockInput
andSendInput
don't work when a UAC prompt is active, nor whenCtrl+Alt+Del
combination is used.BlockInput
blocks all input devices, so need to forward events of all devices that we aren't remapping.Method 2 - Filter driver
Write a Keyboard and Mouse Filter Drivers.
Pros:
Ctrl+Alt+Del
is pressed.Cons:
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.