⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mw_uid.h

📁 microwindows最新源码
💻 H
字号:
/*/////////////////////////////////////////////////////////////////////////////// /usr1/CVS/rtems/cpukit/libmisc/mw-fb/mw_uid.h,v 1.1 2000/08/30 08:21:24 joel Exp//// Copyright (c) 2000 - Rosimildo da Silva//  // MODULE DESCRIPTION: // This module defines the interface for input devices used by MicroWindows// in an embedded system environment.//// MODIFICATION/HISTORY://// mw_uid.h,v// Revision 1.1  2000/08/30 08:21:24  joel// 2000-08-26  Rosimildo da Silva  <rdasilva@connecttel.com>//// 	* Added generic Micro FrameBuffer interface for MicroWindows.// 	This interface allows MicroWindows to under RTEMS. A sample// 	driver has been developed for the pc386 BSP. See// 	pc386/fb_vga.c as a sample.// 	* Added Uniform Input Device interface for MicroWindows.// 	See PC386 bsp for sample drivers for mouse and keyboard (console).// 	* mw-bf: New directory.// 	* Makefile.am, configure.in, wrapup/Makefile.am: Account for mw-fb.// 	* mw-fb/Makefile.am: New file.// 	* mw-fb/mw_fb.c: New file.// 	* mw-fb/mw_fb.h: New file.// 	* mw-fb/mw_uid.c: New file.// 	* mw-fb/mw_uid.h: New file./////////////////////////////////////////////////////////////////////////////////*/#ifndef _MW_UID_H#define _MW_UID_H#ifdef	__cplusplusextern "C" {#endif/* 0x41XX  -- IOCLT functions for the Micro Input Devices commands */ #define MW_UID_REGISTER_DEVICE     0x4100#define MW_UID_UNREGISTER_DEVICE   0x4101/* devices supported by MicroWindows */enum MW_INPUT_DEVICE_TYPE {    MV_UID_INVALID   = 0,    MV_UID_REL_POS   = 1,   /* mouse        */    MV_UID_ABS_POS   = 2,   /* touch-screen */    MV_UID_KBD       = 3,   /* keyboard     */    MV_UID_TIMER     = 4    /* timer -- not used */};/* matching MicroWindows */#define MV_BUTTON_RIGHT                 0x01#define MV_BUTTON_CENTER                0x02#define MV_BUTTON_LEFT                  0x04/* modifiers of the keyboard type devices */#define MV_KEY_MODIFIER_SHIFT_DOWN      0x10#define MV_KEY_MODIFIER_ALT_DOWN        0x20/* indication of the LEDS */#define MV_KEY_MODIFIER_CAPS_ON         0x04#define MV_KEY_MODIFIER_NUN_LOCK_ON     0x02#define MV_KEY_SCROLL_LOCK_ON           0x01/* keyboard modes -- default ASCII     */#define MV_KEY_MODE_ASCII               0x01/*  * This mode one event is sent when a key is pressed, * and another one is send when a key is released. */#define MV_KEY_MODE_SCANCODE            0x00/* these defines match with the linux keyboard range   for ioctls functions for the keyboard interface.   0x4BXX --- keyboard related functions */#define MV_KDGKBMODE	0x4B44   /* gets current keyboard mode */#define MV_KDSKBMODE	0x4B45   /* sets current keyboard mode *//* * Message generated by input devices controlled by MicroWindows.  */struct MW_UID_MESSAGE{  enum MW_INPUT_DEVICE_TYPE type;  /* device type */  union  {     /* fired when keyboard events are raised */     struct kbd_t {        unsigned short code;        /* keycode or scancode        */        unsigned char  modifiers;   /* key modifiers              */        unsigned char  mode;        /* current Kbd mode           */    } kbd;    /* fired when position events are raised, mouse, touch screen, etc */    struct pos_t {        unsigned short btns; /* indicates which buttons are pressed */        short x;             /* x location */        short y;             /* y location */        short z;             /* z location, 0 for 2D */    } pos;    /* fired by a timer device periodically */    struct timer_t {        unsigned long  frt;   /* free running timer */        unsigned long  seq;   /* sequence number */    } tmr;  } m;};/* * API for creating/closing/accessing the message queue used by the micro * input device interface. All functions in this interface returns a  * zero ( 0 ) on success. One exception for that is the "read" routine * that returns the number of bytes read. Negaive numbers indicate errors * * The implementation of the message queue for RTEMS uses a POSIX message * queue interface. It should be very portable among systems with a POSIX * support. *//* creates the message queue that holds events from the input devices */extern int uid_open_queue( const char *q_name, int flags, size_t max_msgs );/* closes message queue */extern int uid_close_queue( void );/*  * reads a message from the queue. It waits up to the specified  * timeout in mili-seconds. */extern int uid_read_message( struct MW_UID_MESSAGE *m, unsigned long timeout );/* write a message to the queue */extern int uid_write_message( struct MW_UID_MESSAGE *m );/* register device to insert data to the queue */extern int uid_register_device( int fd, const char *q_name );/* unregister device to stop adding messages to the queue */extern int uid_unregister_device( int fd );/* set the keyboard */extern int uid_set_kbd_mode( int fd, int mode, int *old_mode );#ifdef	__cplusplus}#endif#endif /* _MW_UID_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -