Updated PCI IDs to latest snapshot.
[tangerine.git] / rom / devs / input / input_intern.h
blob50693940fa992fb61fe890fb09b004f5ee6b4d00
1 /*
2 Copyright © 1995-2006, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: Internal definitions for the input.device
6 Lang: english
7 */
9 #ifndef INPUT_INTERN_H
10 #define INPUT_INTERN_H
12 #ifndef AROS_LIBCALL_H
13 # include <aros/libcall.h>
14 #endif
15 #ifndef EXEC_EXECBASE_H
16 # include <exec/execbase.h>
17 #endif
18 #ifndef EXEC_DEVICES_H
19 # include <exec/devices.h>
20 #endif
21 #ifndef DOS_DOS_H
22 # include <dos/dos.h>
23 #endif
24 #ifndef EXEC_SEMAPHORES_H
25 # include <exec/semaphores.h>
26 #endif
27 #ifndef DEVICES_INPUTEVENT_H
28 # include <devices/inputevent.h>
29 #endif
30 #ifndef DEVICES_TIMER_H
31 # include <devices/timer.h>
32 #endif
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
45 struct inputbase
47 struct Device device;
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;
59 ULONG ResetSig;
60 UWORD ActQualifier;
63 /* Prototypes */
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 */