;;******************************************************************************** ;; @file ;; @brief Simple PS/2 keyboard handler ;; @ingroup libs ;; @details: ;; This module processes keyboard scancodes from the ps2_keyboard driver. ;; It requires a PS/2 keyboard that supports scancode set 3. ;; ;; @section what What it does ;; - swallow break (release) scancodes ;; ;; This handler is designed for debug purposes. ;; ;; @section usage How to use it ;; Call `kb::init` and check if it was successful (`Z = 1`). ;; In your program loop, check if kb::scancode is 0. If it is not, a key has been pressed. ;; ;; @subsection change_behaviour Changing the keyboard behaviour ;; You can change the typematic rate and delay (see PS/2 keyboard command `0xF3`) ;; and the typematic behavior (make, make/release, typematic) for all keys. ;; ;; You may also send the echo (`0xEE`) and identify (`0xF2`) commands to the keyboard. ;;******************************************************************************** .ifndef INCLUDE_KEYBOARD_SIMPLE INCLUDE_KEYBOARD_SIMPLE = 1 .include "ps2_keyboard.h65" ;;******************************************************************************** ;; @brief Simple Keyboard Handler ;;******************************************************************************** .scope skb Import skb, init, scancode K_BREAK = $F0 .endscope .endif ; guard