diff options
Diffstat (limited to 'driver/driver.h')
| -rw-r--r-- | driver/driver.h | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/driver/driver.h b/driver/driver.h index 6184a69..4818367 100644 --- a/driver/driver.h +++ b/driver/driver.h @@ -1,6 +1,6 @@ #pragma once -#include "rawaccel-base.hpp" +#include "rawaccel.hpp" #include "rawaccel-io-def.h" #include <kbdmou.h> @@ -19,7 +19,14 @@ using counter_t = long long; namespace ra = rawaccel; typedef struct _DEVICE_EXTENSION { + bool enable; + bool keep_time; + bool set_extra_info; + double dpi_factor; counter_t counter; + ra::time_clamp clamp; + ra::driver_settings* drv_ptr; + ra::modifier* mod_ptr; vec2d carry; CONNECT_DATA UpperConnectData; WCHAR dev_id[ra::MAX_DEV_ID_LEN]; @@ -30,9 +37,18 @@ WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(DEVICE_EXTENSION, FilterGetData) EXTERN_C_START DRIVER_INITIALIZE DriverEntry; + EVT_WDF_DRIVER_DEVICE_ADD EvtDeviceAdd; EVT_WDF_IO_QUEUE_IO_INTERNAL_DEVICE_CONTROL EvtIoInternalDeviceControl; EVT_WDF_IO_QUEUE_IO_DEVICE_CONTROL RawaccelControl; +EVT_WDF_OBJECT_CONTEXT_CLEANUP DeviceCleanup; + +VOID DeviceSetup(WDFOBJECT); +VOID WriteDelay(VOID); +VOID RawaccelInit(WDFDRIVER); +NTSTATUS CreateControlDevice(WDFDRIVER); + +EXTERN_C_END VOID RawaccelCallback( IN PDEVICE_OBJECT DeviceObject, @@ -41,10 +57,6 @@ VOID RawaccelCallback( IN OUT PULONG InputDataConsumed ); -EXTERN_C_END - -VOID CreateControlDevice(WDFDRIVER Driver); - VOID DispatchPassThrough( _In_ WDFREQUEST Request, _In_ WDFIOTARGET Target |