Non-functional Del key in FP-IDE
Original Reporter info from Mantis: Wolfgang Ehrhardt
-
Reporter name:
Original Reporter info from Mantis: Wolfgang Ehrhardt
- Reporter name:
Description:
In the FP-IDE under Win98 the cursor pad Del key is producing alpha=#$E0
characters instead of deleting the character under the cursor. (Same effect in a Virtual-Win98-Box under Win2000/Microsoft Virtual PC 2004.) Because the Del key is an often used key, this "feature" severely lessens the IDE functionality.
Platform:
FreePascal IDE for Win32 for i386 under Win98
Target CPU: i386
Version 1.0.10 2007/05/11
(Compiler Version 2.1.4)
(Debugger GDB 6.2.1)
Additional information:
IMHO procedure GetKeyEvent in drivers.pas "forgets" to translate key codes $xxE0 to $xx00. A possible fix (tested in modified FPC2.0.4 but should be included and verified in later versions, possibly combined with an "if (OS=Win98) and ..." condition):
in fpcsrc\fv\drivers.pas, procedure GetKeyEvent change
keycode:=Keyboard.GetKeyEventCode(key);
keyshift:=KeyBoard.GetKeyEventShiftState(key);
{ fixup shift-keys }
if keyshift and kbShift<>0 then
to
keycode:=Keyboard.GetKeyEventCode(key);
keyshift:=KeyBoard.GetKeyEventShiftState(key);
{*WE-fix}if keycode and $FF = $E0 then keycode := keycode and $FF00;
{ fixup shift-keys }
if keyshift and kbShift<>0 then
Background information:
Cursor Pad Del: Scan Codes $E0 $53, Bios $53E0
Num Pad Del: Scan Code $53, Bios $5300
Mantis conversion info:
- Mantis ID: 8978
- Fixed in version: 2.2.4
- Fixed in revision: 11728 (#907bb9dc)