diff options
Diffstat (limited to 'packages/ptc/src/keyd.inc')
-rw-r--r-- | packages/ptc/src/keyd.inc | 279 |
1 files changed, 279 insertions, 0 deletions
diff --git a/packages/ptc/src/keyd.inc b/packages/ptc/src/keyd.inc new file mode 100644 index 0000000000..6ea2394b23 --- /dev/null +++ b/packages/ptc/src/keyd.inc @@ -0,0 +1,279 @@ +{ + Free Pascal port of the OpenPTC C++ library. + Copyright (C) 2001-2003 Nikolay Nikolov (nickysn@users.sourceforge.net) + Original C++ version by Glenn Fiedler (ptc@gaffer.org) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +} + +Type + TPTCKeyEvent=Class(TPTCEvent) + Private + m_code : Integer; + m_unicode : Integer; + m_alt : Boolean; + m_shift : Boolean; + m_control : Boolean; + m_press : Boolean; + + Function GetRelease : Boolean; + Protected + Function GetType : TPTCEventType; Override; + Public + Constructor Create; + Constructor Create(_code : Integer); + Constructor Create(_code, _unicode : Integer); + Constructor Create(_code, _unicode : Integer; _press : Boolean); + Constructor Create(_code : Integer; _alt, _shift, _control : Boolean); + Constructor Create(_code : Integer; _alt, _shift, _control, _press : Boolean); + Constructor Create(_code, _unicode : Integer; + _alt, _shift, _control : Boolean); + Constructor Create(_code, _unicode : Integer; + _alt, _shift, _control, _press : Boolean); + Constructor Create(Const key : TPTCKeyEvent); + Destructor Destroy; Override; + Procedure Assign(Const key : TPTCKeyEvent); + Function Equals(Const key : TPTCKeyEvent) : Boolean; + Property code : Integer read m_code; + Property unicode : Integer read m_unicode; + Property alt : Boolean read m_alt; + Property shift : Boolean read m_shift; + Property control : Boolean read m_control; + Property press : Boolean read m_press; + Property release : Boolean read GetRelease; + End; + +Const + PTCKEY_UNDEFINED = $00; + PTCKEY_CANCEL = $03; + PTCKEY_BACKSPACE = $08; {'\b'} + PTCKEY_TAB = $09; {'\t'} + PTCKEY_ENTER = $0A; {'\n'} + PTCKEY_CLEAR = $0C; + PTCKEY_SHIFT = $10; + PTCKEY_CONTROL = $11; + PTCKEY_ALT = $12; + PTCKEY_PAUSE = $13; + PTCKEY_CAPSLOCK = $14; + PTCKEY_KANA = $15; + PTCKEY_FINAL = $18; + PTCKEY_KANJI = $19; + PTCKEY_ESCAPE = $1B; + PTCKEY_CONVERT = $1C; + PTCKEY_NONCONVERT = $1D; + PTCKEY_ACCEPT = $1E; + PTCKEY_MODECHANGE = $1F; + PTCKEY_SPACE = $20; + PTCKEY_PAGEUP = $21; + PTCKEY_PAGEDOWN = $22; + PTCKEY_END = $23; + PTCKEY_HOME = $24; + PTCKEY_LEFT = $25; + PTCKEY_UP = $26; + PTCKEY_RIGHT = $27; + PTCKEY_DOWN = $28; + PTCKEY_COMMA = $2C; {','} + PTCKEY_PERIOD = $2E; {'.'} + PTCKEY_SLASH = $2F; {'/'} + PTCKEY_ZERO = $30; + PTCKEY_ONE = $31; + PTCKEY_TWO = $32; + PTCKEY_THREE = $33; + PTCKEY_FOUR = $34; + PTCKEY_FIVE = $35; + PTCKEY_SIX = $36; + PTCKEY_SEVEN = $37; + PTCKEY_EIGHT = $38; + PTCKEY_NINE = $39; + PTCKEY_SEMICOLON = $3B; {';'} + PTCKEY_EQUALS = $3D; {'='} + PTCKEY_A = $41; + PTCKEY_B = $42; + PTCKEY_C = $43; + PTCKEY_D = $44; + PTCKEY_E = $45; + PTCKEY_F = $46; + PTCKEY_G = $47; + PTCKEY_H = $48; + PTCKEY_I = $49; + PTCKEY_J = $4A; + PTCKEY_K = $4B; + PTCKEY_L = $4C; + PTCKEY_M = $4D; + PTCKEY_N = $4E; + PTCKEY_O = $4F; + PTCKEY_P = $50; + PTCKEY_Q = $51; + PTCKEY_R = $52; + PTCKEY_S = $53; + PTCKEY_T = $54; + PTCKEY_U = $55; + PTCKEY_V = $56; + PTCKEY_W = $57; + PTCKEY_X = $58; + PTCKEY_Y = $59; + PTCKEY_Z = $5A; + PTCKEY_OPENBRACKET = $5B; {'['} + PTCKEY_BACKSLASH = $5C; {'\'} + PTCKEY_CLOSEBRACKET = $5D; {']'} + PTCKEY_NUMPAD0 = $60; + PTCKEY_NUMPAD1 = $61; + PTCKEY_NUMPAD2 = $62; + PTCKEY_NUMPAD3 = $63; + PTCKEY_NUMPAD4 = $64; + PTCKEY_NUMPAD5 = $65; + PTCKEY_NUMPAD6 = $66; + PTCKEY_NUMPAD7 = $67; + PTCKEY_NUMPAD8 = $68; + PTCKEY_NUMPAD9 = $69; + PTCKEY_MULTIPLY = $6A; {numpad '*'} + PTCKEY_ADD = $6B; {numpad '+'} + PTCKEY_SEPARATOR = $6C; + PTCKEY_SUBTRACT = $6D; {numpad '-'} + PTCKEY_DECIMAL = $6E; {numpad '.'} + PTCKEY_DIVIDE = $6F; {numpad '/'} + PTCKEY_F1 = $70; + PTCKEY_F2 = $71; + PTCKEY_F3 = $72; + PTCKEY_F4 = $73; + PTCKEY_F5 = $74; + PTCKEY_F6 = $75; + PTCKEY_F7 = $76; + PTCKEY_F8 = $77; + PTCKEY_F9 = $78; + PTCKEY_F10 = $79; + PTCKEY_F11 = $7A; + PTCKEY_F12 = $7B; + PTCKEY_DELETE = $7F; + PTCKEY_NUMLOCK = $90; + PTCKEY_SCROLLLOCK = $91; + PTCKEY_PRINTSCREEN = $9A; + PTCKEY_INSERT = $9B; + PTCKEY_HELP = $9C; + PTCKEY_META = $9D; + PTCKEY_BACKQUOTE = $C0; + PTCKEY_QUOTE = $DE; + +(* TPTCKeyCode = ( + PTCKEY_UNDEFINED := $00, + PTCKEY_CANCEL := $03, + PTCKEY_BACKSPACE := $08, {'\b'} + PTCKEY_TAB := $09, {'\t'} + PTCKEY_ENTER := $0A, {'\n'} + PTCKEY_CLEAR := $0C, + PTCKEY_SHIFT := $10, + PTCKEY_CONTROL := $11, + PTCKEY_ALT := $12, + PTCKEY_PAUSE := $13, + PTCKEY_CAPSLOCK := $14, + PTCKEY_KANA := $15, + PTCKEY_FINAL := $18, + PTCKEY_KANJI := $19, + PTCKEY_ESCAPE := $1B, + PTCKEY_CONVERT := $1C, + PTCKEY_NONCONVERT := $1D, + PTCKEY_ACCEPT := $1E, + PTCKEY_MODECHANGE := $1F, + PTCKEY_SPACE := $20, + PTCKEY_PAGEUP := $21, + PTCKEY_PAGEDOWN := $22, + PTCKEY_END := $23, + PTCKEY_HOME := $24, + PTCKEY_LEFT := $25, + PTCKEY_UP := $26, + PTCKEY_RIGHT := $27, + PTCKEY_DOWN := $28, + PTCKEY_COMMA := $2C, {','} + PTCKEY_PERIOD := $2E, {'.'} + PTCKEY_SLASH := $2F, {'/'} + PTCKEY_ZERO := $30, + PTCKEY_ONE := $31, + PTCKEY_TWO := $32, + PTCKEY_THREE := $33, + PTCKEY_FOUR := $34, + PTCKEY_FIVE := $35, + PTCKEY_SIX := $36, + PTCKEY_SEVEN := $37, + PTCKEY_EIGHT := $38, + PTCKEY_NINE := $39, + PTCKEY_SEMICOLON := $3B, {';'} + PTCKEY_EQUALS := $3D, {'='} + PTCKEY_A := $41, + PTCKEY_B := $42, + PTCKEY_C := $43, + PTCKEY_D := $44, + PTCKEY_E := $45, + PTCKEY_F := $46, + PTCKEY_G := $47, + PTCKEY_H := $48, + PTCKEY_I := $49, + PTCKEY_J := $4A, + PTCKEY_K := $4B, + PTCKEY_L := $4C, + PTCKEY_M := $4D, + PTCKEY_N := $4E, + PTCKEY_O := $4F, + PTCKEY_P := $50, + PTCKEY_Q := $51, + PTCKEY_R := $52, + PTCKEY_S := $53, + PTCKEY_T := $54, + PTCKEY_U := $55, + PTCKEY_V := $56, + PTCKEY_W := $57, + PTCKEY_X := $58, + PTCKEY_Y := $59, + PTCKEY_Z := $5A, + PTCKEY_OPENBRACKET := $5B, {'['} + PTCKEY_BACKSLASH := $5C, {'\'} + PTCKEY_CLOSEBRACKET := $5D, {']'} + PTCKEY_NUMPAD0 := $60, + PTCKEY_NUMPAD1 := $61, + PTCKEY_NUMPAD2 := $62, + PTCKEY_NUMPAD3 := $63, + PTCKEY_NUMPAD4 := $64, + PTCKEY_NUMPAD5 := $65, + PTCKEY_NUMPAD6 := $66, + PTCKEY_NUMPAD7 := $67, + PTCKEY_NUMPAD8 := $68, + PTCKEY_NUMPAD9 := $69, + PTCKEY_MULTIPLY := $6A, {numpad '*'} + PTCKEY_ADD := $6B, {numpad '+'} + PTCKEY_SEPARATOR := $6C, + PTCKEY_SUBTRACT := $6D, {numpad '-'} + PTCKEY_DECIMAL := $6E, {numpad '.'} + PTCKEY_DIVIDE := $6F, {numpad '/'} + PTCKEY_F1 := $70, + PTCKEY_F2 := $71, + PTCKEY_F3 := $72, + PTCKEY_F4 := $73, + PTCKEY_F5 := $74, + PTCKEY_F6 := $75, + PTCKEY_F7 := $76, + PTCKEY_F8 := $77, + PTCKEY_F9 := $78, + PTCKEY_F10 := $79, + PTCKEY_F11 := $7A, + PTCKEY_F12 := $7B, + PTCKEY_DELETE := $7F, + PTCKEY_NUMLOCK := $90, + PTCKEY_SCROLLLOCK := $91, + PTCKEY_PRINTSCREEN := $9A, + PTCKEY_INSERT := $9B, + PTCKEY_HELP := $9C, + PTCKEY_META := $9D, + PTCKEY_BACKQUOTE := $C0, + PTCKEY_QUOTE := $DE + );*) |