80,19 → 80,18 |
}; |
|
static int msim,gxemul; |
static int fb_fb; |
|
|
int kbd_arch_init(void) |
{ |
fb_fb=sysinfo_value("fb.kind")==1; |
ipc_register_irq(2, &msim_kbd); |
msim=sysinfo_value("machine.msim"); |
gxemul=sysinfo_value("machine.lgxemul"); |
return 0; |
} |
|
|
/* |
//* |
//* |
//* Please preserve this code (it can be used to determine scancodes) |
//* |
int to_hex(int v) |
99,9 → 98,9 |
{ |
return "0123456789ABCDEF"[v]; |
} |
*/ |
//*/ |
|
static int kbd_arch_process_no_fb(keybuffer_t *keybuffer, int scan_code) |
static int kbd_arch_process_msim(keybuffer_t *keybuffer, int scan_code) |
{ |
|
static unsigned long buf=0; |
108,16 → 107,16 |
static int count=0; |
|
|
/* Please preserve this code (it can be used to determine scancodes) |
//* Please preserve this code (it can be used to determine scancodes) |
//* |
//keybuffer_push(keybuffer, to_hex((scan_code>>4)&0xf)); |
//keybuffer_push(keybuffer, to_hex(scan_code&0xf)); |
//keybuffer_push(keybuffer, ' '); |
//keybuffer_push(keybuffer, ' '); |
//*/ |
//return 1; |
|
keybuffer_push(keybuffer, to_hex((scan_code>>4)&0xf)); |
keybuffer_push(keybuffer, to_hex(scan_code&0xf)); |
keybuffer_push(keybuffer, ' '); |
keybuffer_push(keybuffer, ' '); |
|
return 1; |
*/ |
|
if(scan_code==0x7e) |
{ |
switch (buf){ |
252,7 → 251,7 |
|
|
|
static int kbd_arch_process_fb(keybuffer_t *keybuffer, int scan_code) |
static int kbd_arch_process_gxemul(keybuffer_t *keybuffer, int scan_code) |
{ |
|
static unsigned long buf=0; |
259,16 → 258,16 |
static int count=0; |
|
|
/* Please preserve this code (it can be used to determine scancodes) |
//* Please preserve this code (it can be used to determine scancodes) |
//* |
//keybuffer_push(keybuffer, to_hex((scan_code>>4)&0xf)); |
//keybuffer_push(keybuffer, to_hex(scan_code&0xf)); |
//keybuffer_push(keybuffer, ' '); |
//keybuffer_push(keybuffer, ' '); |
//*/ |
//return 1; |
|
keybuffer_push(keybuffer, to_hex((scan_code>>4)&0xf)); |
keybuffer_push(keybuffer, to_hex(scan_code&0xf)); |
keybuffer_push(keybuffer, ' '); |
keybuffer_push(keybuffer, ' '); |
|
return 1; |
*/ |
|
if ( scan_code == '\r' ) |
scan_code = '\n' ; |
|
390,10 → 389,12 |
esc_count=0; |
} |
|
if(fb_fb) return kbd_arch_process_fb(keybuffer, scan_code); |
return kbd_arch_process_no_fb(keybuffer, scan_code); |
if(msim) return kbd_arch_process_msim(keybuffer, scan_code); |
if(gxemul) return kbd_arch_process_gxemul(keybuffer, scan_code); |
|
return 0; |
} |
/** @} |
*/ |
|
/** |
* @} |
*/ |