KolibriOS kernel
keyboard.inc File Reference

Classes

struct  KEYBOARD
 ------------------------------------------------------------------— More...
 
struct  KBDFUNC
 

Functions

void set_keyboard_data (arg_t ecx)
 Export function - Add new scancode in buffer. More...
 
void register_keyboard (arg_t, arg_t)
 Export function - Registration new keyboard. More...
 
void delete_keyboard (arg_t)
 Export function - Delete keyboard. More...
 
void check_lights_state_has_work ()
 // mike.dld ] More...
 
void sys_getkey (arg_t eax)
 System function 2 - Get pressed key. More...
 

Variables

dd kb_state
 
db ext_code
 
db keyboard_mode
 
db keyboard_data
 
db altmouseb
 
db ctrl_alt_del
 
db kb_lights
 
db old_kb_lights
 
rd hotkey_scancodes
 we have 256 scancodes More...
 
rd hotkey_list
 max 256 defined hotkeys More...
 
rd hotkey_buffer
 buffer for 120 hotkeys More...
 
dd hotkey_tests
 
label hotkey_test0
 ------------------------------------------------------------------— More...
 
label hotkey_test1
 ------------------------------------------------------------------— More...
 
label hotkey_test2
 ------------------------------------------------------------------— More...
 
label hotkey_test3
 ------------------------------------------------------------------— More...
 
label hotkey_test4
 ------------------------------------------------------------------— More...
 
label hotkey_do_test
 ------------------------------------------------------------------— More...
 
label keyboards
 
MUTEX keyboard_list_mutex
 
label irq1
 ------------------------------------------------------------------— More...
 
label send_scancode
 -----------------------------------— More...
 
label set_lights
 ------------------------------------------------------------------— More...
 
label ps2_set_lights
 
label check_lights_state
 
db numlock_map
 
label kb_write_wait_ack
 ------------------------------------------------------------------— More...
 
label f66call
 
label sys_process_def
 --------------------------------------------------------------------------— More...
 
dd PID_lock_input
 

Function Documentation

◆ check_lights_state_has_work()

void check_lights_state_has_work ( )

// mike.dld ]

Source
hid/keyboard.inc:573

◆ delete_keyboard()

void delete_keyboard ( arg_t  )

Export function - Delete keyboard.

Parameters
[esp+ 4] - pointer on KEYBOARD structure
Returns
not return
Source
hid/keyboard.inc:185

◆ register_keyboard()

void register_keyboard ( arg_t  ,
arg_t   
)

Export function - Registration new keyboard.

Parameters
[esp+ 4] - pointer on KBDFUNC this keyboard
[esp+ 8] - userdata for callback function
Returns
eax = pointer on KEYBOARD structure or 0 on error
Source
hid/keyboard.inc:148

◆ set_keyboard_data()

void set_keyboard_data ( arg_t  ecx)

Export function - Add new scancode in buffer.


Parameters
ecx- scancode
Returns
not return
Source
hid/keyboard.inc:108

◆ sys_getkey()

void sys_getkey ( arg_t  eax)

System function 2 - Get pressed key.


Parameters
eax= 2- number function
Returns
eax = 1 - buffer empty, else al = 0, ah = code pressed key, 16-23 bits - scancode pressed key(in ASCII mode) if al=2 ah=scancode pressed key, 16-31 bits - state control keys
Source
hid/keyboard.inc:780

Variable Documentation

◆ altmouseb

db altmouseb
Initial value
0
Source
hid/keyboard.inc:35

◆ check_lights_state

label check_lights_state

◆ ctrl_alt_del

db ctrl_alt_del
Initial value
0
Source
hid/keyboard.inc:36

◆ ext_code

db ext_code
Initial value
0
Source
hid/keyboard.inc:30

◆ f66call

label f66call

◆ hotkey_buffer

rd hotkey_buffer

buffer for 120 hotkeys

Initial value
120*2
Source
hid/keyboard.inc:44

◆ hotkey_do_test

label hotkey_do_test

------------------------------------------------------------------—

Source
hid/keyboard.inc:81

◆ hotkey_list

rd hotkey_list

max 256 defined hotkeys

Initial value
256*4
Source
hid/keyboard.inc:43

◆ hotkey_scancodes

rd hotkey_scancodes

we have 256 scancodes

Initial value
256
Source
hid/keyboard.inc:42

◆ hotkey_test0

label hotkey_test0

------------------------------------------------------------------—

Source
hid/keyboard.inc:56

◆ hotkey_test1

label hotkey_test1

------------------------------------------------------------------—

Source
hid/keyboard.inc:61

◆ hotkey_test2

label hotkey_test2

------------------------------------------------------------------—

Source
hid/keyboard.inc:66

◆ hotkey_test3

label hotkey_test3

------------------------------------------------------------------—

Source
hid/keyboard.inc:71

◆ hotkey_test4

label hotkey_test4

------------------------------------------------------------------—

Source
hid/keyboard.inc:76

◆ hotkey_tests

dd hotkey_tests
Initial value
hotkey_test0
Source
hid/keyboard.inc:48

◆ irq1

label irq1

------------------------------------------------------------------—

Source
hid/keyboard.inc:207

◆ kb_lights

db kb_lights
Initial value
0
Source
hid/keyboard.inc:38

◆ kb_state

dd kb_state
Initial value
0
Source
hid/keyboard.inc:29

◆ kb_write_wait_ack

label kb_write_wait_ack

------------------------------------------------------------------—

Source
hid/keyboard.inc:592

◆ keyboard_data

db keyboard_data
Initial value
0
Source
hid/keyboard.inc:33

◆ keyboard_list_mutex

MUTEX keyboard_list_mutex
Initial value
Source
hid/keyboard.inc:141

◆ keyboard_mode

db keyboard_mode
Initial value
0
Source
hid/keyboard.inc:32

◆ keyboards

label keyboards

◆ numlock_map

db numlock_map
Initial value
'789-456+1230.'
Source
hid/keyboard.inc:588

◆ old_kb_lights

db old_kb_lights
Initial value
0
Source
hid/keyboard.inc:39

◆ PID_lock_input

dd PID_lock_input
Initial value
0x0
Source
hid/keyboard.inc:770

◆ ps2_set_lights

label ps2_set_lights

◆ send_scancode

label send_scancode

-----------------------------------—

Source
hid/keyboard.inc:216

◆ set_lights

label set_lights

------------------------------------------------------------------—

Source
hid/keyboard.inc:540

◆ sys_process_def

label sys_process_def

--------------------------------------------------------------------------—

Source
hid/keyboard.inc:643