2 Copyright © 1995-2006, The AROS Development Team. All rights reserved.
5 Desc: Internal definitions for the input.device
10 #define INPUT_INTERN_H
12 #ifndef AROS_LIBCALL_H
13 # include <aros/libcall.h>
15 #ifndef EXEC_EXECBASE_H
16 # include <exec/execbase.h>
18 #ifndef EXEC_DEVICES_H
19 # include <exec/devices.h>
24 #ifndef EXEC_SEMAPHORES_H
25 # include <exec/semaphores.h>
27 #ifndef DEVICES_INPUTEVENT_H
28 # include <devices/inputevent.h>
30 #ifndef DEVICES_TIMER_H
31 # include <devices/timer.h>
34 /* Size of the input device's stack */
35 #define IDTASK_STACKSIZE (AROS_STACKSIZE + 10240)
37 /* Priority of the input.device task */
38 #define IDTASK_PRIORITY 20
40 /* Default key repeat threshold/interval in 1/50 secs */
42 #define DEFAULT_KEY_REPEAT_THRESHOLD 25
43 #define DEFAULT_KEY_REPEAT_INTERVAL 2
49 /* The stuff below will never get deallocated, since
50 ** input device is never removed, once it's initialized.
52 struct Task
*InputTask
;
53 struct MsgPort CommandPort
;
54 struct MinList HandlerList
;
55 struct InputEvent
*EventQueueHead
;
56 struct InputEvent
*EventQueueTail
;
57 struct timeval KeyRepeatThreshold
;
58 struct timeval KeyRepeatInterval
;
64 VOID
ProcessEvents(struct inputbase
*InputDevice
);
65 struct Task
*CreateInputTask(APTR taskparams
, struct inputbase
*InputDevice
);
66 VOID
AddEQTail(struct InputEvent
*ie
, struct inputbase
*InputDevice
);
67 struct InputEvent
*GetEventsFromQueue(struct inputbase
*InputDevice
);
68 BOOL
IsQualifierKey(UWORD key
);
69 BOOL
IsRepeatableKey(UWORD key
);
71 #endif /* INPUT_INTERN_H */