Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

International keyboard support (Developers)

posted by mbbrutman Homepage, Washington, USA, 22.01.2023, 22:46

So based on my experiments and what I'm reading here, I think I can summarize it as follows:

* Regardless of the physical keyboard layout, an application program reading the keyboard using the BIOS routines will see 8 bit values. (This can't change or the world would be broken.)

* KEYB.COM is used to provide alternate mappings of keys to values returned by the BIOS, but ultimately you still get the same type of output - an 8 bit value.

* Special key sequences such as F1, Alt-X, etc. still generate a 0x0 and an 8 bit value that remains unchanged regardless of the KEYB.COM changes.

* To convert an 8 bit character value to Unicode you need to know what codepage was specified with KEYB.COM. Then you can try to map the 8 bit value received from the BIOS call to a Unicode codepoint.


The test version of IRCjr I am writing is already mapping incoming Unicode to arbitrary values when it receives a message. I have a mapping table for CP437, but any mapping table can be provided. (I'll need to make up additional tables.) Once I figure it out for IRCjr I'll reuse the code in Telnet and finally have proper UTF-8 support, and hopefully my European friends will forgive me for being so late with this.

 

Complete thread:

Back to the forum
Board view  Mix view
22049 Postings in 2034 Threads, 396 registered users, 73 users online (0 registered, 73 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum