keyboard.pp 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. {$MACRO ON}
  2. (******************************************************************************
  3. *
  4. * Copyright (c) 1994-2000 Palm, Inc. or its subsidiaries.
  5. * All rights reserved.
  6. *
  7. * File: Keyboard.h
  8. *
  9. * Release: Palm OS SDK 4.0 (63220)
  10. *
  11. * Description:
  12. * This file defines the keyboard's structures
  13. * and routines.
  14. *
  15. * History:
  16. * March 29, 1995 Created by Roger Flores
  17. *
  18. *****************************************************************************)
  19. unit keyboard;
  20. interface
  21. uses palmos, coretraps, rect, chars, window, control;
  22. const
  23. kbdReturnKey = linefeedChr;
  24. kbdTabKey = tabChr;
  25. kbdBackspaceKey = backspaceChr;
  26. kbdShiftKey = 2;
  27. kbdCapsKey = 1;
  28. kbdNoKey = $ff;
  29. type
  30. KeyboardType = Enum;
  31. const
  32. kbdAlpha = 0;
  33. kbdNumbersAndPunc = 1;
  34. kbdAccent = 2;
  35. kbdDefault = $ff; // based on graffiti mode (usually alphaKeyboard)
  36. type
  37. KeyboardStatus = record
  38. end;
  39. KeyboardStatusPtr = ^KeyboardStatus;
  40. // Shift state flags
  41. const
  42. KeyboardShiftFlag = $0001;
  43. KeyboardCapslockFlag = $0002;
  44. (************************************************************
  45. * Keyboard procedures
  46. *************************************************************)
  47. // At some point the Graffiti code will need access to the
  48. // shift and caps lock info. Either export the structures
  49. // or provide calls to the info.
  50. procedure SysKeyboardDialogV10; syscall sysTrapSysKeyboardDialogV10;
  51. procedure SysKeyboardDialog(kbd: KeyboardType); syscall sysTrapSysKeyboardDialog;
  52. function KeyboardStatusNew(keyboardID: UInt16): KeyboardStatusPtr; syscall sysTrapKeyboardStatusNew;
  53. procedure KeyboardStatusFree(ks: KeyboardStatusPtr); syscall sysTrapKeyboardStatusFree;
  54. procedure KbdSetLayout(ks: KeyboardStatusPtr; layout: UInt16); syscall sysTrapKbdSetLayout;
  55. function KbdGetLayout(const ks: KeyboardStatusPtr): UInt16; syscall sysTrapKbdGetLayout;
  56. procedure KbdSetPosition(ks: KeyboardStatusPtr; const p: PointPtr); syscall sysTrapKbdSetPosition;
  57. procedure KbdGetPosition(const ks: KeyboardStatusPtr; p: PointPtr); syscall sysTrapKbdGetPosition;
  58. procedure KbdSetShiftState(ks: KeyboardStatusPtr; shiftState: UInt16); syscall sysTrapKbdSetShiftState;
  59. function KbdGetShiftState(const ks: KeyboardStatusPtr): UInt16; syscall sysTrapKbdGetShiftState;
  60. procedure KbdDraw(ks: KeyboardStatusPtr; keyTopsOnly, ignoreModifiers: Boolean); syscall sysTrapKbdDraw;
  61. procedure KbdErase(ks: KeyboardStatusPtr); syscall sysTrapKbdErase;
  62. function KbdHandleEvent(ks: KeyboardStatusPtr; pEvent: EventPtr): Boolean; syscall sysTrapKbdHandleEvent;
  63. implementation
  64. end.