Ich wis nicht, wie das mit den Sondertasten ist, aber kann man die Scancodes nicht anzeigen (unter DOS ging das mal)?
Also den jewiligen "Tastatur-Manager" beenden und in ein leeres Projekt ein Label rein und folgendes ins OnKeyUp:
Delphi-Quellcode:
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Label1.Caption := '0x' + IntToHex(Key, 4);
end;
EDIT: Das war der virtuelle Tastencode, der Scancode ist laut
PSDK in WM_KEYDOWN und WM_KEYUP zu finden. Dazu leeres From mit KeyPreview auf true und diesem Code:
Delphi-Quellcode:
private
{ Private-Deklarationen }
procedure WMKeyUp(var Message: TWMKeyUp); message WM_KeyUp;
//...
procedure TForm1.WMKeyUp(var Message: TWMKeyUp);
begin
Label1.Caption := 'Virtuell: ' + '0x' + IntToHex(Message.CharCode, 4) + ', '
+ 'Scancode:' + '0x' + IntToHex((DWORD(Message.KeyData) and $FF0000) shr 16, 4);
inherited;
end;