Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
kbdmou.h
00001 /* 00002 * kbdmou.h 00003 * 00004 * Structures and definitions for Keyboard/Mouse class and port drivers. 00005 * 00006 * This file is part of the w32api package. 00007 * 00008 * Contributors: 00009 * Created by Filip Navara <xnavara@volny.cz> 00010 * 00011 * THIS SOFTWARE IS NOT COPYRIGHTED 00012 * 00013 * This source code is offered for use in the public domain. You may 00014 * use, modify or distribute it freely. 00015 * 00016 * This code is distributed in the hope that it will be useful but 00017 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY 00018 * DISCLAIMED. This includes but is not limited to warranties of 00019 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00020 * 00021 */ 00022 00023 #ifndef __KBDMOU_H 00024 #define __KBDMOU_H 00025 00026 #include <ddk/ntddkbd.h> 00027 #include <ddk/ntddmou.h> 00028 00029 #define DD_KEYBOARD_PORT_DEVICE_NAME "\\Device\\KeyboardPort" 00030 #define DD_KEYBOARD_PORT_DEVICE_NAME_U L"\\Device\\KeyboardPort" 00031 #define DD_KEYBOARD_PORT_BASE_NAME_U L"KeyboardPort" 00032 #define DD_POINTER_PORT_DEVICE_NAME "\\Device\\PointerPort" 00033 #define DD_POINTER_PORT_DEVICE_NAME_U L"\\Device\\PointerPort" 00034 #define DD_POINTER_PORT_BASE_NAME_U L"PointerPort" 00035 00036 #define DD_KEYBOARD_CLASS_BASE_NAME_U L"KeyboardClass" 00037 #define DD_POINTER_CLASS_BASE_NAME_U L"PointerClass" 00038 00039 #define DD_KEYBOARD_RESOURCE_CLASS_NAME_U L"Keyboard" 00040 #define DD_POINTER_RESOURCE_CLASS_NAME_U L"Pointer" 00041 #define DD_KEYBOARD_MOUSE_COMBO_RESOURCE_CLASS_NAME_U L"Keyboard/Pointer" 00042 00043 #define POINTER_PORTS_MAXIMUM 8 00044 #define KEYBOARD_PORTS_MAXIMUM 8 00045 00046 #define KBDMOU_COULD_NOT_SEND_COMMAND 0x0000 00047 #define KBDMOU_COULD_NOT_SEND_PARAM 0x0001 00048 #define KBDMOU_NO_RESPONSE 0x0002 00049 #define KBDMOU_INCORRECT_RESPONSE 0x0004 00050 00051 #define I8042_ERROR_VALUE_BASE 1000 00052 #define INPORT_ERROR_VALUE_BASE 2000 00053 #define SERIAL_MOUSE_ERROR_VALUE_BASE 3000 00054 00055 #define IOCTL_INTERNAL_KEYBOARD_CONNECT \ 00056 CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0080, METHOD_NEITHER, FILE_ANY_ACCESS) 00057 00058 #define IOCTL_INTERNAL_KEYBOARD_DISCONNECT \ 00059 CTL_CODE(FILE_DEVICE_KEYBOARD,0x0100, METHOD_NEITHER, FILE_ANY_ACCESS) 00060 00061 #define IOCTL_INTERNAL_KEYBOARD_ENABLE \ 00062 CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0200, METHOD_NEITHER, FILE_ANY_ACCESS) 00063 00064 #define IOCTL_INTERNAL_KEYBOARD_DISABLE \ 00065 CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0400, METHOD_NEITHER, FILE_ANY_ACCESS) 00066 00067 #define IOCTL_INTERNAL_MOUSE_CONNECT \ 00068 CTL_CODE(FILE_DEVICE_MOUSE, 0x0080, METHOD_NEITHER, FILE_ANY_ACCESS) 00069 00070 #define IOCTL_INTERNAL_MOUSE_DISCONNECT \ 00071 CTL_CODE(FILE_DEVICE_MOUSE, 0x0100, METHOD_NEITHER, FILE_ANY_ACCESS) 00072 00073 #define IOCTL_INTERNAL_MOUSE_ENABLE \ 00074 CTL_CODE(FILE_DEVICE_MOUSE, 0x0200, METHOD_NEITHER, FILE_ANY_ACCESS) 00075 00076 #define IOCTL_INTERNAL_MOUSE_DISABLE \ 00077 CTL_CODE(FILE_DEVICE_MOUSE, 0x0400, METHOD_NEITHER, FILE_ANY_ACCESS) 00078 00079 typedef struct _CONNECT_DATA { 00080 PDEVICE_OBJECT ClassDeviceObject; 00081 PVOID ClassService; 00082 } CONNECT_DATA, *PCONNECT_DATA; 00083 00084 typedef VOID 00085 (STDAPICALLTYPE *PSERVICE_CALLBACK_ROUTINE)( 00086 /*IN*/ PVOID NormalContext, 00087 /*IN*/ PVOID SystemArgument1, 00088 /*IN*/ PVOID SystemArgument2, 00089 /*IN OUT*/ PVOID SystemArgument3); 00090 00091 #endif /* __KBDMOU_H */
Generated on Tue Jul 12 2022 19:59:54 by
1.7.2