int K3NG_PS2Keyboard::read() { char result; result = ps2Keyboard_CharBuffer; if (result) { ps2Keyboard_CharBuffer = 0; } else { result = get_ascii_code(); } if (!result) return -1; return result; }
/* dialog procedure for the keymap listbox */ int keymap_list_proc(int msg, DIALOG *d, int c) { int ret; if (msg == MSG_LOSTFOCUS) return D_WANTFOCUS; ret = d_list_proc(msg, d, c); if (ret & D_CLOSE) { int val = editor_table[d->d1]; if (get_ascii_code(&val)) editor_table[d->d1] = val; return D_REDRAW; } return ret; }
bool K3NG_PS2Keyboard::available() { if (ps2Keyboard_CharBuffer) return true; ps2Keyboard_CharBuffer = get_ascii_code(); if (ps2Keyboard_CharBuffer) return true; return false; }