Hi,
> > To fake shifts, one can just modify the flags at 40:17 and 18. > It will not update the keyboard LEDs, but that is acceptable. > The BIOS itself uses 40:96 and 97 to track its own status. > It has been a very long time. But, if I recall correctly, I’m fairly sure you can programmatically change the LEDs as well. But, I don’t recall the details. But, I might have code sitting around somewhere that has that functionality. However excluding CAPS LOCK LED, I don’t think I’ve had a keyboard with the other LEDs for a very long time. No real way for me to test that at present. > Of course the details can get a bit more complicated, as > you also have press and release events for shift keys etc. > and special E0 ... key combinations and so on. But if you > are happy with just the most mainstream keys acting in that > "long press means shift" style and only while no actual > ctrl, shift, alt or similar modifier keys are pressed, it > should be quite feasible to implement this. Special and multiple key combinations was something I built into the keyboard driver in the “Danger Engine.” That is the game and application framework I made for some programs provided with FreeDOS. The keyboard driver it has can track things like Left-Control+Right-Alt+A+P or Up+Left+Tab. No real limit on total simultaneous keys in the driver. Plus, it recognizes keys not normally supported under DOS. For instance, the Volume keys and Browser buttons on my ancient Logitech Media Keyboard. But, that driver is not very efficient. Being a prototype experiment, it is cobbled together. Now that the issues involved were worked out, it needs to be rewritten from scratch. Even though the Danger Engine does some neat stuff, the same goes for the entire thing. It definitely needs a rewrite. :-) Jerome _______________________________________________ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user