Regarding programmatic control of the keyboard LEDs, that was definitely possible. I have some olllllllld BASIC code I wrote in my early days which twiddle some bits in the byte at 0:0417 to accomplish it.
Sent with Proton Mail secure email. On Thursday, February 8th, 2024 at 11:00 PM, Jerome Shidel via Freedos-user <freedos-user@lists.sourceforge.net> wrote: > 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 _______________________________________________ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user