Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 1644 → Rev 1645

/uspace/trunk/kbd/arch/ia64/src/kbd.c
77,22 → 77,33
{
static unsigned long long buf=0;
static int count=0;
static int esc_count=0;
 
 
/*
* 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, ' ');
*/
//keybuffer_push(keybuffer, to_hex((scan_code>>4)&0xf));
//keybuffer_push(keybuffer, to_hex(scan_code&0xf));
//keybuffer_push(keybuffer, ' ');
//keybuffer_push(keybuffer, ' ');
//*/
if (scan_code){
buf|=(unsigned long long) scan_code<<(8*(count++));
} else {
} else {
 
if ( buf == 0x1b ) {
esc_count++;
if ( esc_count == 3 ) {
__SYSCALL0(SYS_DEBUG_ENABLE_CONSOLE);
}
} else {
esc_count=0;
}
if ( ! ( buf & 0xff00 ))
keybuffer_push(keybuffer, buf);
else {
/uspace/trunk/kbd/arch/mips32/src/kbd.c
368,9 → 368,22
 
int kbd_arch_process(keybuffer_t *keybuffer, int scan_code)
{
if(msim) return kbd_arch_process_msim(keybuffer, scan_code);
if(gxemul) return kbd_arch_process_gxemul(keybuffer, scan_code);
 
return 0;
static int esc_count=0;
 
if ( scan_code == 0x1b ) {
esc_count++;
if ( esc_count == 3 ) {
__SYSCALL0(SYS_DEBUG_ENABLE_CONSOLE);
}
} else {
esc_count=0;
}
 
if(msim) return kbd_arch_process_msim(keybuffer, scan_code);
if(gxemul) return kbd_arch_process_gxemul(keybuffer, scan_code);
 
return 0;
}