Lines Matching refs:sc

171 g_keyboard_timeout_reset(struct g_keyboard_softc *sc)
182 usb_callout_reset(&sc->sc_callout, i, &g_keyboard_timeout, sc);
188 struct g_keyboard_softc *sc = arg;
190 sc->sc_mode = g_keyboard_mode;
192 memcpy(sc->sc_pattern, g_keyboard_key_press_pattern, sizeof(sc->sc_pattern));
194 sc->sc_pattern[G_KEYBOARD_MAX_STRLEN - 1] = 0;
196 sc->sc_pattern_len = strlen(sc->sc_pattern);
198 DPRINTFN(11, "Timeout %p\n", sc->sc_xfer[G_KEYBOARD_INTR_DT]);
200 usbd_transfer_start(sc->sc_xfer[G_KEYBOARD_INTR_DT]);
202 g_keyboard_timeout_reset(sc);
226 struct g_keyboard_softc *sc = device_get_softc(dev);
234 mtx_init(&sc->sc_mtx, "g_keyboard", NULL, MTX_DEF);
236 usb_callout_init_mtx(&sc->sc_callout, &sc->sc_mtx, 0);
238 sc->sc_mode = G_KEYBOARD_MODE_SILENT;
241 &uaa->info.bIfaceIndex, sc->sc_xfer, g_keyboard_config,
242 G_KEYBOARD_N_TRANSFER, sc, &sc->sc_mtx);
248 mtx_lock(&sc->sc_mtx);
249 g_keyboard_timeout_reset(sc);
250 mtx_unlock(&sc->sc_mtx);
263 struct g_keyboard_softc *sc = device_get_softc(dev);
267 mtx_lock(&sc->sc_mtx);
268 usb_callout_stop(&sc->sc_callout);
269 mtx_unlock(&sc->sc_mtx);
271 usbd_transfer_unsetup(sc->sc_xfer, G_KEYBOARD_N_TRANSFER);
273 usb_callout_drain(&sc->sc_callout);
275 mtx_destroy(&sc->sc_mtx);
281 g_keyboard_get_keycode(struct g_keyboard_softc *sc, int index)
284 int mod = sc->sc_pattern_len;
291 if ((index >= 0) && (index < sc->sc_pattern_len))
292 key = sc->sc_pattern[index];
305 struct g_keyboard_softc *sc = usbd_xfer_softc(xfer);
320 if (sc->sc_mode == G_KEYBOARD_MODE_SILENT) {
321 memset(&sc->sc_data, 0, sizeof(sc->sc_data));
322 usbd_xfer_set_frame_data(xfer, 0, &sc->sc_data[0], sizeof(sc->sc_data[0]));
323 usbd_xfer_set_frame_data(xfer, 1, &sc->sc_data[1], sizeof(sc->sc_data[1]));
327 } else if (sc->sc_mode == G_KEYBOARD_MODE_PATTERN) {
329 memset(&sc->sc_data, 0, sizeof(sc->sc_data));
331 if ((sc->sc_state < 0) || (sc->sc_state >= G_KEYBOARD_MAX_STRLEN))
332 sc->sc_state = 0;
334 switch (sc->sc_state % 6) {
336 sc->sc_data[0].keycode[0] =
337 g_keyboard_get_keycode(sc, sc->sc_state + 0);
339 sc->sc_data[0].keycode[1] =
340 g_keyboard_get_keycode(sc, sc->sc_state + 1);
342 sc->sc_data[0].keycode[2] =
343 g_keyboard_get_keycode(sc, sc->sc_state + 2);
345 sc->sc_data[0].keycode[3] =
346 g_keyboard_get_keycode(sc, sc->sc_state + 3);
348 sc->sc_data[0].keycode[4] =
349 g_keyboard_get_keycode(sc, sc->sc_state + 4);
351 sc->sc_data[0].keycode[5] =
352 g_keyboard_get_keycode(sc, sc->sc_state + 5);
355 sc->sc_state++;
357 usbd_xfer_set_frame_data(xfer, 0, &sc->sc_data[0], sizeof(sc->sc_data[0]));
358 usbd_xfer_set_frame_data(xfer, 1, &sc->sc_data[1], sizeof(sc->sc_data[1]));
381 struct g_keyboard_softc *sc = device_get_softc(dev);
392 *plen = sizeof(sc->sc_led_state);
393 *pptr = &sc->sc_led_state;