Hi!
So it would need a »timer« to count from pressed key to released. if >500 ms, it should send an ASCII
We understood that. But be aware that you normally set the typematic function to start typing MULTIPLE characters after a selectable delay of between 250 and (at most) 1000 msec. So if you hold the "a" key for more than 1 second, would you want it to type multiple "a" or rather multiple "A"? And would you need this "hold for at least 500 ms to get A instead of a" only for A-Z or also for other keys? Bret mentioned the example that people want to keep "=" pressed to type "====" lines and I myself would want to keep "left" pressed to move the cursor further left etc.
example uppercase A = DECIMAL code 65 lowercase a = DECIMAL code 97 Difference between lowercase and uppercase is 32
In my example with MKEYB, you would not actually manipulate the ASCII value. Instead, you manipulate whether the BIOS believes whether you have pressed SHIFT ;-) The actual key to ASCII conversion stays in the reliable hands of the BIOS.
Would this work?
Sure. You would not even need a new timer for it, because you already HAVE a system timer tick counter. So you just look at that counter when a key is pressed and look again when it is released. Then you calculate the difference and based on that you decide whether the special driver pretends SHIFT was pressed at the moment the key got released ;-) Of course this means you have to modify the source CODE. It will not make the driver much more complex. Feasible. The other suggestion was that you could press some key which is otherwise not used BEFORE typing the "a" to tell the driver that you mean "A". This is very similar to the well-known feature that you can press ^ followed by a to type â and so on. A driver which already has support for such accent combos could probably support new combos for upper case chars by simply editing the CONFIGURATION without editing the CODE. You could probably use a key like one of the windows keys, the scroll lock key or some accent you do not really use as "the accent/special key which makes the next character you type an upper case one" :-) Eric _______________________________________________ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user