drv_keypad_def.h 917 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef _DRV_KEYPAD_H
  2. #define _DRV_KEYPAD_H
  3. #include <drv_types.h>
  4. #define DETECT_KEY_USE_INTERRUPT 0
  5. #define SISKEYPAD_DEV_NUM 1 // Max number of device
  6. #define KPAD_HEAD 0
  7. #define CONTINUE_KPAD_HEADSTART 1
  8. #define CONTINUE_KPAD_END 2
  9. #define SINGLE_KPAD_END 5
  10. #define KPAD_IDLE 3
  11. #define KP_NO_KEY_MSG 0xFF
  12. typedef struct _KEYDATA
  13. {
  14. unsigned short Source;
  15. unsigned short Key;
  16. unsigned short ContinueKey;
  17. unsigned short range;
  18. }KEYDATA, *PKEYDATA;
  19. typedef struct _KP_IOC_IOData
  20. {
  21. unsigned char Length;
  22. KEYDATA keybuf[30];
  23. } KP_IOC_IOData, *KP_IOC_IODataPtr;
  24. // SiS Defined I/O Control Signal
  25. #define KP_IOC_MAGIC 'j'
  26. #define KP_IOC_BASE 198
  27. #define KP_IOC_Get_Data _IOR(KP_IOC_MAGIC, KP_IOC_BASE+0x01, KP_IOC_IOData)
  28. #define KP_IOC_Set_Data _IOW(KP_IOC_MAGIC, KP_IOC_BASE+0x02, KP_IOC_IOData)
  29. #endif