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

Reply via email to