1 #ifndef LINUXMOUSE_INTERN_H
2 #define LINUXMOUSE_INTERN_H
5 Copyright © 2012, The AROS Development Team. All rights reserved.
8 Desc: Linux /dev/input/eventX hidd for AROS
13 # include <exec/types.h>
15 #ifndef EXEC_LIBRARIES_H
16 # include <exec/libraries.h>
18 #ifndef EXEC_SEMAPHORES_H
19 # include <exec/semaphores.h>
22 # include <dos/bptr.h>
28 extern OOP_AttrBase HiddKbdAB
;
29 extern OOP_AttrBase HiddMouseAB
;
31 /***** Linux Kbd HIDD *******************/
34 #define IID_Hidd_LinuxKbd "hidd.kbd.linux"
35 #define CLID_Hidd_LinuxKbd "hidd.kbd.linux"
40 moHidd_LinuxKbd_HandleEvent
43 struct pHidd_LinuxKbd_HandleEvent
49 VOID
HIDD_LinuxKbd_HandleEvent(OOP_Object
*o
, UBYTE scanCode
);
54 VOID (*kbd_callback
)(APTR
, UWORD
);
58 /***** Linux Mouse HIDD *******************/
61 #define IID_Hidd_LinuxMouse "hidd.mouse.linux"
62 #define CLID_Hidd_LinuxMouse "hidd.mouse.linux"
68 moHidd_LinuxMouse_HandleEvent
71 struct pHidd_LinuxMouse_HandleEvent
74 struct pHidd_Mouse_Event
*mouseEvent
;
77 VOID
HIDD_LinuxMouse_HandleEvent(OOP_Object
*o
, struct pHidd_Mouse_Event
*mouseEvent
);
80 struct LinuxMouse_data
82 VOID (*mouse_callback
)(APTR
, struct pHidd_Mouse_Event
*);
88 #define CAP_KEYBOARD (1<<0)
89 #define CAP_MOUSE (1<<1)
96 struct Task
*inputtask
;
97 OOP_Object
*mousehidd
;
102 struct LinuxInput_staticdata
104 struct SignalSemaphore sema
;
106 struct List eventhandlers
;
108 OOP_Class
*mouseclass
;
109 OOP_Object
*mousehidd
;
115 struct LinuxInput_base
117 struct Library library
;
118 struct LinuxInput_staticdata lsd
;
121 #define LSD(cl) (&((struct LinuxInput_base *)cl->UserData)->lsd)
123 VOID
Update_EventHandlers(struct LinuxInput_staticdata
*lsd
);
125 #endif /* LINUXMOUSE_INTERN_H */