RTEMS  5.0.0
Files | Data Structures | Macros | Enumerations | Functions
Input Devices for MicroWindows

Input Devices for MicroWindows. More...

Files

file  mw_print.c
 MicroWindows Print.
 
file  mw_uid.c
 MicroWindows UIDThis module implements the input devices interface used by MicroWindows in an embedded system environment. It uses the RTEMS message queue as the repository for the messages posted by the devices registered.
 

Data Structures

struct  MW_UID_MESSAGE
 

Macros

#define MW_UID_REGISTER_DEVICE   0x4100
 
#define MW_UID_UNREGISTER_DEVICE   0x4101
 
#define MV_BUTTON_RIGHT   0x01
 
#define MV_BUTTON_CENTER   0x02
 
#define MV_BUTTON_LEFT   0x04
 
#define MV_KEY_MODIFIER_SHIFT_DOWN   0x10
 
#define MV_KEY_MODIFIER_ALT_DOWN   0x20
 
#define MV_KEY_MODIFIER_CAPS_ON   0x04
 
#define MV_KEY_MODIFIER_NUN_LOCK_ON   0x02
 
#define MV_KEY_SCROLL_LOCK_ON   0x01
 
#define MV_KEY_MODE_ASCII   0x01
 
#define MV_KEY_MODE_SCANCODE   0x00
 
#define MV_KDGKBMODE   0x4B44 /* gets current keyboard mode */
 
#define MV_KDSKBMODE   0x4B45 /* sets current keyboard mode */
 

Enumerations

enum  MW_INPUT_DEVICE_TYPE {
  MV_UID_INVALID = 0, MV_UID_REL_POS = 1, MV_UID_ABS_POS = 2, MV_UID_KBD = 3,
  MV_UID_TIMER = 4
}
 

Functions

int uid_open_queue (const char *q_name, int flags, size_t max_msgs)
 
int uid_close_queue (void)
 
int uid_read_message (struct MW_UID_MESSAGE *m, unsigned long timeout)
 
int uid_send_message (struct MW_UID_MESSAGE *m)
 
int uid_register_device (int fd, const char *q_name)
 
int uid_unregister_device (int fd)
 
int uid_set_kbd_mode (int fd, int mode, int *old_mode)
 
void uid_print_message (struct MW_UID_MESSAGE *uid)
 
void uid_print_message_with_plugin (const rtems_printer *printer, struct MW_UID_MESSAGE *uid)
 

Detailed Description

Input Devices for MicroWindows.

This file defines the interface for input devices used by MicroWindows in an embedded system environment.

Function Documentation

◆ uid_close_queue()

int uid_close_queue ( void  )

This method closes the message queue and deletes it.

Return values
Thismethod returns 0 on success and -1 on error.

◆ uid_open_queue()

int uid_open_queue ( const char *  q_name,
int  flags,
size_t  max_msgs 
)

This method creates the message queue that holds events from the input devices.

Parameters
[in]q_nameis the name of the message queue
[in]flagscontrols the behaviour of the queue
[in]max_msgsspecifies the maximum number of pending messages
Note
The message queue is from the Classic API.
Return values
Thismethod returns 0 on success and -1 on error.

◆ uid_print_message()

void uid_print_message ( struct MW_UID_MESSAGE uid)

This methods prints the specified UID message using printk

Parameters
[in]uidpoints to the message to print

◆ uid_print_message_with_plugin()

void uid_print_message_with_plugin ( const rtems_printer printer,
struct MW_UID_MESSAGE uid 
)

This methods prints the specified UID message using your fprintf style method of choice.

Parameters
[in]RTEMSprinter
[in]uidpoints to the message to print

◆ uid_read_message()

int uid_read_message ( struct MW_UID_MESSAGE m,
unsigned long  timeout 
)

This method reads a message from the queue. It waits up to the specified timeout in miliseconds. A timeout of 0 is a poll.

Parameters
[in]mwill be filled in with the received message
[in]timeoutis the maximum number of mulliseconds to wait
Return values
Thismethod returns 0 on success and -1 on error.

◆ uid_register_device()

int uid_register_device ( int  fd,
const char *  q_name 
)

This method registers the device associated with fd to to insert data to the queue

◆ uid_send_message()

int uid_send_message ( struct MW_UID_MESSAGE m)

This methods writes a message to the queue.

Parameters
[in]mis the message to send
Return values
Thismethod returns 0 on success and -1 on error.