mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-13 12:09:11 +02:00
amunits: syscall-ified keymap unit
git-svn-id: trunk@28573 -
This commit is contained in:
parent
244ac12794
commit
e92e2349e7
@ -114,68 +114,15 @@ VAR KeymapBase : pLibrary;
|
||||
const
|
||||
KEYMAPNAME : PChar = 'keymap.library';
|
||||
|
||||
FUNCTION AskKeyMapDefault : pKeyMap;
|
||||
FUNCTION MapANSI(thestring : pCHAR; count : LONGINT; buffer : pCHAR; length : LONGINT; keyMap : pKeyMap) : LONGINT;
|
||||
FUNCTION MapRawKey(event : pInputEvent; buffer : pCHAR; length : LONGINT; keyMap : pKeyMap) : smallint;
|
||||
PROCEDURE SetKeyMapDefault(keyMap : pKeyMap);
|
||||
FUNCTION AskKeyMapDefault : pKeyMap; syscall KeymapBase 036;
|
||||
FUNCTION MapANSI(thestring : pCHAR location 'a0'; count : LONGINT location 'd0'; buffer : pCHAR location 'a1'; length : LONGINT location 'd1'; keyMap : pKeyMap location 'a2') : LONGINT; sycall KeymapBase 048
|
||||
FUNCTION MapRawKey(event : pInputEvent location 'a0'; buffer : pCHAR location 'a1'; length : LONGINT location 'd1'; keyMap : pKeyMap location 'a2') : smallint; syscall KeymapBase 042;
|
||||
PROCEDURE SetKeyMapDefault(keyMap : pKeyMap location 'a0'); syscall KeymapBase 030;
|
||||
|
||||
IMPLEMENTATION
|
||||
|
||||
uses amsgbox;
|
||||
|
||||
FUNCTION AskKeyMapDefault : pKeyMap;
|
||||
BEGIN
|
||||
ASM
|
||||
MOVE.L A6,-(A7)
|
||||
MOVEA.L KeymapBase,A6
|
||||
JSR -036(A6)
|
||||
MOVEA.L (A7)+,A6
|
||||
MOVE.L D0,@RESULT
|
||||
END;
|
||||
END;
|
||||
|
||||
FUNCTION MapANSI(thestring : pCHAR; count : LONGINT; buffer : pCHAR; length : LONGINT; keyMap : pKeyMap) : LONGINT;
|
||||
BEGIN
|
||||
ASM
|
||||
MOVE.L A6,-(A7)
|
||||
MOVEA.L thestring,A0
|
||||
MOVE.L count,D0
|
||||
MOVEA.L buffer,A1
|
||||
MOVE.L length,D1
|
||||
MOVEA.L keyMap,A2
|
||||
MOVEA.L KeymapBase,A6
|
||||
JSR -048(A6)
|
||||
MOVEA.L (A7)+,A6
|
||||
MOVE.L D0,@RESULT
|
||||
END;
|
||||
END;
|
||||
|
||||
FUNCTION MapRawKey(event : pInputEvent; buffer : pCHAR; length : LONGINT; keyMap : pKeyMap) : smallint;
|
||||
BEGIN
|
||||
ASM
|
||||
MOVE.L A6,-(A7)
|
||||
MOVEA.L event,A0
|
||||
MOVEA.L buffer,A1
|
||||
MOVE.L length,D1
|
||||
MOVEA.L keyMap,A2
|
||||
MOVEA.L KeymapBase,A6
|
||||
JSR -042(A6)
|
||||
MOVEA.L (A7)+,A6
|
||||
MOVE.L D0,@RESULT
|
||||
END;
|
||||
END;
|
||||
|
||||
PROCEDURE SetKeyMapDefault(keyMap : pKeyMap);
|
||||
BEGIN
|
||||
ASM
|
||||
MOVE.L A6,-(A7)
|
||||
MOVEA.L keyMap,A0
|
||||
MOVEA.L KeymapBase,A6
|
||||
JSR -030(A6)
|
||||
MOVEA.L (A7)+,A6
|
||||
END;
|
||||
END;
|
||||
|
||||
{$I useautoopenlib.inc}
|
||||
{$ifdef use_auto_openlib}
|
||||
{$Info Compiling autoopening of keymap.library}
|
||||
|
Loading…
Reference in New Issue
Block a user