> After installing new layout and calling int 15h/4Fh manually, > causes correct scan code / ascii code pair is enqueued into the > keyboard buffer and carry flag isn't set because something is > changed this time. In short, this function is responsible for > changing keyboard layout, obviously. But how? I mean, how do > keyb.com know where exactly code page is in memory.
KEYB doesn't know. AT ALL. KEYB translates scan codes (as transmitted form the keyboard) to 8 bit codes according to the keyboard language. ascii is the wrong term here. ASCII is defined (mostly) for the lower 128 of 256 characters, like the usual aAbBcB...zZ1..9.,;:... that are common to most languages. as there is not enough space above 128 to have all possible russian, greek, spanish, indonesian, ... codepages where invented. codepages assume a particular character set which differs for each language. most likely (I am no language expert) the code 0x31 will display identical (as '1') in all codepages, but 0x99 will display differently for greek and russian. it's probably best to think of 'codepages' as 'fonts'. Tom _______________________________________________ Freedos-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/freedos-devel
