summaryrefslogtreecommitdiff
path: root/packages/fv
diff options
context:
space:
mode:
authormarco <marco@3ad0048d-3df7-0310-abae-a5850022a9f2>2008-08-13 20:09:57 +0000
committermarco <marco@3ad0048d-3df7-0310-abae-a5850022a9f2>2008-08-13 20:09:57 +0000
commit02edea428892b1dbf456217f1afe85cd3aa61248 (patch)
treef6e4125be3460419ac8ef81928e941ba55784bfd /packages/fv
parent2f0dd256a5de561979afeab32f6a3b3847edfc6c (diff)
downloadfpc-02edea428892b1dbf456217f1afe85cd3aa61248.tar.gz
* skip e0 scancodes in certain cases. bug 8978
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@11566 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/fv')
-rw-r--r--packages/fv/src/drivers.pas6
1 files changed, 6 insertions, 0 deletions
diff --git a/packages/fv/src/drivers.pas b/packages/fv/src/drivers.pas
index a3426e6f0b..9041078a79 100644
--- a/packages/fv/src/drivers.pas
+++ b/packages/fv/src/drivers.pas
@@ -1058,6 +1058,12 @@ begin
key:=Keyboard.GetKeyEvent;
keycode:=Keyboard.GetKeyEventCode(key);
keyshift:=KeyBoard.GetKeyEventShiftState(key);
+ // some kbds still honour old XT E0 prefix. (org IBM ps/2, win98?) bug #8978
+ if (keycode and $FF = $E0) and
+ (byte(keycode shr 8) in
+ [$1C,$1D,$2A,$35..$38,$46..$49,$4b,$4d,$4f,$50..$53]) Then
+ keycode := keycode and $FF00;
+
{ fixup shift-keys }
if keyshift and kbShift<>0 then
begin