/shark/trunk/drivers/input/shark/shark_mouse.c |
---|
55,9 → 55,25 |
/* Mouse driver currently installed */ |
static int mouse_installed = FALSE; |
/*static PID mouse_pid = NIL;*/ |
/*static short int mouse_lim_x1 = 0; |
static short int mouse_lim_y1 = 0; |
static short int mouse_lim_x2 = 79; |
static short int mouse_lim_y2 = 24; |
static short int mouse_x = 40; |
static short int mouse_x_mick = 0; |
static short int mouse_y = 12; |
static short int mouse_y_mick = 0; |
static short int mouse_buttons = 0; |
static short int mouse_thresholdlim = 5; |
static MOUSE_HANDLER mouse_handler = NULL; |
static MOUSE_HANDLER user_mouse_handler = NULL; |
static int autocursormode=DISABLE; |
static PID mouse_pid = NIL;*/ |
/* |
* Start mouseProc Task |
*/ |
68,12 → 84,32 |
/* Init the Linux Speaker Driver */ |
/*int MOUSE26_init(MOUSE_PARMS *s)*/ |
int MOUSE26_init(void) |
{ |
/*MOUSE_PARMS mparms=BASE_MOUSE; |
TASK_MODEL *m; |
SOFT_TASK_MODEL base_m;*/ |
int status = 0; |
if (mouse_installed == TRUE) return 0; |
/* if a NULL is passed */ |
/*if (s == NULL) |
s = &mparms; |
if (s->tm == (TASK_MODEL *)MOUSE_DEFAULT) { |
soft_task_default_model(base_m); |
soft_task_def_wcet(base_m,2000); |
soft_task_def_met(base_m,500); |
soft_task_def_period(base_m,8000); |
soft_task_def_system(base_m); |
soft_task_def_nokill(base_m); |
soft_task_def_aperiodic(base_m); |
m = (TASK_MODEL *)&base_m; |
} else |
m = parms->tm;*/ |
if (input_installed == FALSE) { |
status = INPUT26_init(); |
if (status) { |
/shark/trunk/drivers/input/shark/shark_keyb.c |
---|
39,6 → 39,7 |
*/ |
//#define __KEYB_DEBUG__ |
//#define KEYB_TASK |
#include <kernel/kern.h> |
#include <signal.h> |
108,15 → 109,23 |
/* Communication port between the extern process & the user */ |
static PORT pkeyPort, ukeyPort; |
#ifdef KEYB_TASK |
/* keyboard task PID */ |
static PID keybpid; |
#else |
void keyProc(void); |
#endif |
/* |
* Start keyProc Task |
* Start keyProc Task or exec it as function |
*/ |
void shark_kbd_task(void) |
void shark_kbd_exec(void) |
{ |
#ifdef KEYB_TASK |
task_activate(keybpid); |
#else |
keyProc(); |
#endif |
} |
/* |
318,7 → 327,11 |
return (0xff00 | c); |
} |
#ifdef KEYB_TASK |
TASK keyProc(void) |
#else |
void keyProc(void) |
#endif |
{ |
WORD code; |
BYTE found; |
326,7 → 339,9 |
int i, res; |
unsigned int dato; |
#ifdef KEYB_TASK |
while (1) { |
#endif |
res = kbd_get(&dato, NON_BLOCK); |
if (res >= 0) { |
code = scanCode(dato, res); |
358,8 → 373,10 |
port_send(pkeyPort, (BYTE *) (&dt), NON_BLOCK); |
} |
} |
#ifdef KEYB_TASK |
task_endcycle(); |
} |
#endif |
} |
/* default function called on ctrl-c */ |
428,8 → 445,10 |
WORD i; |
int status = 0; |
#ifdef KEYB_TASK |
SOFT_TASK_MODEL base_m; |
TASK_MODEL *m; |
#endif |
if (keyb_installed == TRUE) return 0; |
473,6 → 492,7 |
keyb_hook (emerg, s->ctrlcfunc, TRUE); |
} |
#ifdef KEYB_TASK |
/* keyb task */ |
if (s->tm == (TASK_MODEL *) KEYB_DEFAULT) { |
soft_task_default_model (base_m); |
496,6 → 516,7 |
port_delete (ukeyPort); |
return -1; |
} |
#endif |
if (input_installed == FALSE) |
if (INPUT26_init()) { |
541,8 → 562,10 |
*/ |
int KEYB26_close(void) |
{ |
#ifdef KEYB_TASK |
int free; |
SYS_FLAGS f; |
#endif |
if (!keyb_installed) |
return -1; |
550,6 → 573,7 |
kbd_exit(); |
atkbd_exit(); |
#ifdef KEYB_TASK |
f = kern_fsave(); |
free = (proc_table[keybpid].status == FREE); |
kern_frestore(f); |
558,6 → 582,7 |
#endif |
if (free) |
task_kill (keybpid); |
#endif |
/*port_delete (pkeyPort); |
port_delete (ukeyPort);*/ |
/shark/trunk/drivers/input/shark/shark_spk.c |
---|
35,7 → 35,7 |
* |
*/ |
#define __MOUSE_DEBUG__ 1 |
//#define __MOUSE_DEBUG__ 1 |
#include <kernel/kern.h> |