2 * Copyright 2013, Haiku, Inc.
3 * Distributed under the terms of the MIT License.
5 * The elantech_model_info struct and all the hardware specs are taken from the
6 * linux driver, thanks a lot!
9 * Jérôme Duval <korli@users.berlios.de>
11 #ifndef _PS2_ELANTECH_H
12 #define _PS2_ELANTECH_H
15 #include <KernelExport.h>
17 #include <touchpad_settings.h>
19 #include "movement_maker.h"
20 #include "packet_buffer.h"
28 struct packet_buffer
* ring_buffer
;
30 uint8 buffer
[PS2_PACKET_ELANTECH
];
34 TouchpadMovement movementMaker
;
36 touchpad_settings settings
;
39 uint8 capabilities
[3];
42 status_t (*send_command
)(ps2_dev
* dev
, uint8 cmd
, uint8
*in
, int in_count
);
46 status_t
probe_elantech(ps2_dev
*dev
);
48 status_t
elantech_open(const char *name
, uint32 flags
, void **_cookie
);
49 status_t
elantech_close(void *_cookie
);
50 status_t
elantech_freecookie(void *_cookie
);
51 status_t
elantech_ioctl(void *_cookie
, uint32 op
, void *buffer
, size_t length
);
53 int32
elantech_handle_int(ps2_dev
*dev
);
54 void elantech_disconnect(ps2_dev
*dev
);
56 extern device_hooks gElantechDeviceHooks
;
59 #endif /* _PS2_ELANTECH_H */