Lines 720-730
ukbd_intr_callback(struct usb_xfer *xfer, usb_error_t error)
Link Here
|
720 |
hid_get_data_unsigned(sc->sc_buffer, len, &tmp_loc); |
720 |
hid_get_data_unsigned(sc->sc_buffer, len, &tmp_loc); |
721 |
/* advance to next location */ |
721 |
/* advance to next location */ |
722 |
tmp_loc.pos += tmp_loc.size; |
722 |
tmp_loc.pos += tmp_loc.size; |
|
|
723 |
if (key == KEY_ERROR) { |
724 |
DPRINTF("KEY_ERROR\n"); |
725 |
sc->sc_ndata = sc->sc_odata; |
726 |
goto tr_setup; /* ignore */ |
727 |
} |
723 |
if (modifiers & MOD_FN) |
728 |
if (modifiers & MOD_FN) |
724 |
key = ukbd_apple_fn(key); |
729 |
key = ukbd_apple_fn(key); |
725 |
if (sc->sc_flags & UKBD_FLAG_APPLE_SWAP) |
730 |
if (sc->sc_flags & UKBD_FLAG_APPLE_SWAP) |
726 |
key = ukbd_apple_swap(key); |
731 |
key = ukbd_apple_swap(key); |
727 |
if (key == KEY_NONE || key == KEY_ERROR || key >= UKBD_NKEYCODE) |
732 |
if (key == KEY_NONE || key >= UKBD_NKEYCODE) |
728 |
continue; |
733 |
continue; |
729 |
/* set key in bitmap */ |
734 |
/* set key in bitmap */ |
730 |
sc->sc_ndata.bitmap[key / 64] |= 1ULL << (key % 64); |
735 |
sc->sc_ndata.bitmap[key / 64] |= 1ULL << (key % 64); |