> 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

Reply via email to