Browse Source

+ get the current DOS code page in the go32v2 keyboard unit, so enhanced key
events Unicode characters are returned correctly (provided that the cpall and
fpwidestring unit are included as well)

Nikolay Nikolov 3 years ago
parent
commit
c881067b23
1 changed files with 6 additions and 0 deletions
  1. 6 0
      packages/rtl-console/src/go32v2/keyboard.pp

+ 6 - 0
packages/rtl-console/src/go32v2/keyboard.pp

@@ -30,6 +30,8 @@ var
 
 
 procedure SysInitKeyboard;
+const
+  fCarry=1;
 var
   regs: trealregs;
 begin
@@ -41,6 +43,10 @@ begin
       if regs.ax<>$1200 then
         keyboard_type:=$10;
     end;
+  regs.ax:=$6601;
+  realintr($21,regs);
+  if (regs.flags and fCarry) = 0 then
+     CurrentLegacy2EnhancedKeyEventTranslationCodePage:=regs.bx;
 end;