Test initialisation of MUIA_List_AdjustWidth and MUIA_List_AdjustHeight, and
[AROS.git] / arch / all-linux / hidd / linuxinput / linuxinput_intern.h
blob09eef946a13e11b70df210a0a4e1ad8feceb000d
1 #ifndef LINUXMOUSE_INTERN_H
2 #define LINUXMOUSE_INTERN_H
4 /*
5 Copyright © 2012, The AROS Development Team. All rights reserved.
6 $Id$
8 Desc: Linux /dev/input/eventX hidd for AROS
9 Lang: English.
12 #ifndef EXEC_TYPES_H
13 # include <exec/types.h>
14 #endif
15 #ifndef EXEC_LIBRARIES_H
16 # include <exec/libraries.h>
17 #endif
18 #ifndef EXEC_SEMAPHORES_H
19 # include <exec/semaphores.h>
20 #endif
21 #ifndef DOS_BPTR_H
22 # include <dos/bptr.h>
23 #endif
24 #ifndef OOP_OOP_H
25 # include <oop/oop.h>
26 #endif
28 extern OOP_AttrBase HiddKbdAB;
29 extern OOP_AttrBase HiddMouseAB;
31 /***** Linux Kbd HIDD *******************/
33 /* IDs */
34 #define IID_Hidd_LinuxKbd "hidd.kbd.linux"
35 #define CLID_Hidd_LinuxKbd "hidd.kbd.linux"
37 /* Methods */
38 enum
40 moHidd_LinuxKbd_HandleEvent
43 struct pHidd_LinuxKbd_HandleEvent
45 OOP_MethodID mID;
46 UBYTE scanCode;
49 VOID HIDD_LinuxKbd_HandleEvent(OOP_Object *o, UBYTE scanCode);
51 /* Data */
52 struct LinuxKbd_data
54 VOID (*kbd_callback)(APTR, UWORD);
55 APTR callbackdata;
58 /***** Linux Mouse HIDD *******************/
60 /* IDs */
61 #define IID_Hidd_LinuxMouse "hidd.mouse.linux"
62 #define CLID_Hidd_LinuxMouse "hidd.mouse.linux"
65 /* Methods */
66 enum
68 moHidd_LinuxMouse_HandleEvent
71 struct pHidd_LinuxMouse_HandleEvent
73 OOP_MethodID mID;
74 struct pHidd_Mouse_Event *mouseEvent;
77 VOID HIDD_LinuxMouse_HandleEvent(OOP_Object *o, struct pHidd_Mouse_Event *mouseEvent);
79 /* Data */
80 struct LinuxMouse_data
82 VOID (*mouse_callback)(APTR, struct pHidd_Mouse_Event *);
83 APTR callbackdata;
86 /*** Shared data ***/
87 #define CAP_NONE (0)
88 #define CAP_KEYBOARD (1<<0)
89 #define CAP_MOUSE (1<<1)
91 struct EventHandler
93 struct Node node;
94 int eventdev;
95 ULONG capabilities;
96 struct Task *inputtask;
97 OOP_Object *mousehidd;
98 OOP_Object *kbdhidd;
99 OOP_Object *unixio;
102 struct LinuxInput_staticdata
104 struct SignalSemaphore sema;
106 struct List eventhandlers;
108 OOP_Class *mouseclass;
109 OOP_Object *mousehidd;
110 OOP_Class *kbdclass;
111 OOP_Object *kbdhidd;
112 OOP_Object *unixio;
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 */