Changes in uspace/srv/kbd/ctl/pc.c [f954906:c145bc2] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/kbd/ctl/pc.c
rf954906 rc145bc2 40 40 #include <io/keycode.h> 41 41 #include <kbd_ctl.h> 42 #include <kbd_port.h> 42 43 #include <gsp.h> 43 44 … … 45 46 ds_s, 46 47 ds_e 48 }; 49 50 enum special_code { 51 SC_ACK = 0xfa, 52 SC_NAK = 0xfe 53 }; 54 55 enum lock_ind_bits { 56 LI_SCROLL = 0x01, 57 LI_NUM = 0x02, 58 LI_CAPS = 0x04 59 }; 60 61 enum kbd_command { 62 KBD_CMD_SET_LEDS = 0xed 47 63 }; 48 64 … … 194 210 size_t map_length; 195 211 212 /* 213 * ACK/NAK are returned as response to us sending a command. 214 * We are not interested in them. 215 */ 216 if (scancode == SC_ACK || scancode == SC_NAK) 217 return; 218 196 219 if (scancode == 0xe0) { 197 220 ds = ds_e; … … 230 253 } 231 254 255 void kbd_ctl_set_ind(unsigned mods) 256 { 257 uint8_t b; 258 259 b = 0; 260 if ((mods & KM_CAPS_LOCK) != 0) 261 b = b | LI_CAPS; 262 if ((mods & KM_NUM_LOCK) != 0) 263 b = b | LI_NUM; 264 if ((mods & KM_SCROLL_LOCK) != 0) 265 b = b | LI_SCROLL; 266 267 kbd_port_write(KBD_CMD_SET_LEDS); 268 kbd_port_write(b); 269 } 270 232 271 /** 233 272 * @}
Note:
See TracChangeset
for help on using the changeset viewer.