HelenOS sources

kbd_dev           103 uspace/drv/hid/usbhid/kbd/kbddev.c static void usb_kbd_set_led(usb_hid_dev_t *hid_dev, usb_kbd_t *kbd_dev);
kbd_dev           162 uspace/drv/hid/usbhid/kbd/kbddev.c 	usb_kbd_t *kbd_dev = ddf_fun_data_get(fun);
kbd_dev           167 uspace/drv/hid/usbhid/kbd/kbddev.c 		kbd_dev->mods = ipc_get_arg1(icall);
kbd_dev           168 uspace/drv/hid/usbhid/kbd/kbddev.c 		usb_kbd_set_led(kbd_dev->hid_dev, kbd_dev);
kbd_dev           184 uspace/drv/hid/usbhid/kbd/kbddev.c 		if (kbd_dev->client_sess == NULL) {
kbd_dev           185 uspace/drv/hid/usbhid/kbd/kbddev.c 			kbd_dev->client_sess = sess;
kbd_dev           218 uspace/drv/hid/usbhid/kbd/kbddev.c static void usb_kbd_set_led(usb_hid_dev_t *hid_dev, usb_kbd_t *kbd_dev)
kbd_dev           220 uspace/drv/hid/usbhid/kbd/kbddev.c 	if (kbd_dev->output_size == 0) {
kbd_dev           225 uspace/drv/hid/usbhid/kbd/kbddev.c 	memset(kbd_dev->led_data, 0, kbd_dev->led_output_size * sizeof(int32_t));
kbd_dev           229 uspace/drv/hid/usbhid/kbd/kbddev.c 	    &hid_dev->report, NULL, kbd_dev->led_path,
kbd_dev           236 uspace/drv/hid/usbhid/kbd/kbddev.c 		    (kbd_dev->mods & KM_NUM_LOCK)) {
kbd_dev           241 uspace/drv/hid/usbhid/kbd/kbddev.c 		    (kbd_dev->mods & KM_CAPS_LOCK)) {
kbd_dev           246 uspace/drv/hid/usbhid/kbd/kbddev.c 		    (kbd_dev->mods & KM_SCROLL_LOCK)) {
kbd_dev           251 uspace/drv/hid/usbhid/kbd/kbddev.c 		    &hid_dev->report, field, kbd_dev->led_path,
kbd_dev           258 uspace/drv/hid/usbhid/kbd/kbddev.c 	    kbd_dev->output_buffer, kbd_dev->output_size);
kbd_dev           267 uspace/drv/hid/usbhid/kbd/kbddev.c 	    usb_debug_str_buffer(kbd_dev->output_buffer, kbd_dev->output_size,
kbd_dev           274 uspace/drv/hid/usbhid/kbd/kbddev.c 	    kbd_dev->output_buffer, kbd_dev->output_size);
kbd_dev           287 uspace/drv/hid/usbhid/kbd/kbddev.c void usb_kbd_push_ev(usb_kbd_t *kbd_dev, int type, unsigned key)
kbd_dev           290 uspace/drv/hid/usbhid/kbd/kbddev.c 	if (kbd_dev->client_sess == NULL) {
kbd_dev           296 uspace/drv/hid/usbhid/kbd/kbddev.c 	async_exch_t *exch = async_exchange_begin(kbd_dev->client_sess);
kbd_dev           339 uspace/drv/hid/usbhid/kbd/kbddev.c     usb_kbd_t *kbd_dev)
kbd_dev           350 uspace/drv/hid/usbhid/kbd/kbddev.c 	size_t i = find_in_array_int32(ERROR_ROLLOVER, kbd_dev->keys,
kbd_dev           351 uspace/drv/hid/usbhid/kbd/kbddev.c 	    kbd_dev->key_count);
kbd_dev           360 uspace/drv/hid/usbhid/kbd/kbddev.c 	for (i = 0; i < kbd_dev->key_count; i++) {
kbd_dev           361 uspace/drv/hid/usbhid/kbd/kbddev.c 		const int32_t old_key = kbd_dev->keys_old[i];
kbd_dev           363 uspace/drv/hid/usbhid/kbd/kbddev.c 		const size_t pos = find_in_array_int32(old_key, kbd_dev->keys,
kbd_dev           364 uspace/drv/hid/usbhid/kbd/kbddev.c 		    kbd_dev->key_count);
kbd_dev           369 uspace/drv/hid/usbhid/kbd/kbddev.c 				usb_kbd_repeat_stop(kbd_dev, key);
kbd_dev           371 uspace/drv/hid/usbhid/kbd/kbddev.c 			usb_kbd_push_ev(kbd_dev, KEY_RELEASE, key);
kbd_dev           380 uspace/drv/hid/usbhid/kbd/kbddev.c 	for (i = 0; i < kbd_dev->key_count; ++i) {
kbd_dev           381 uspace/drv/hid/usbhid/kbd/kbddev.c 		const int32_t new_key = kbd_dev->keys[i];
kbd_dev           384 uspace/drv/hid/usbhid/kbd/kbddev.c 		    kbd_dev->keys_old, kbd_dev->key_count);
kbd_dev           387 uspace/drv/hid/usbhid/kbd/kbddev.c 			unsigned key = usbhid_parse_scancode(kbd_dev->keys[i]);
kbd_dev           389 uspace/drv/hid/usbhid/kbd/kbddev.c 				usb_kbd_repeat_start(kbd_dev, key);
kbd_dev           391 uspace/drv/hid/usbhid/kbd/kbddev.c 			usb_kbd_push_ev(kbd_dev, KEY_PRESS, key);
kbd_dev           397 uspace/drv/hid/usbhid/kbd/kbddev.c 	memcpy(kbd_dev->keys_old, kbd_dev->keys, kbd_dev->key_count * 4);
kbd_dev           402 uspace/drv/hid/usbhid/kbd/kbddev.c 	    kbd_dev->keys_old, 4, kbd_dev->key_count, 0);
kbd_dev           424 uspace/drv/hid/usbhid/kbd/kbddev.c static void usb_kbd_process_data(usb_hid_dev_t *hid_dev, usb_kbd_t *kbd_dev)
kbd_dev           427 uspace/drv/hid/usbhid/kbd/kbddev.c 	assert(kbd_dev != NULL);
kbd_dev           455 uspace/drv/hid/usbhid/kbd/kbddev.c 		assert(i < kbd_dev->key_count);
kbd_dev           459 uspace/drv/hid/usbhid/kbd/kbddev.c 			kbd_dev->keys[i] = field->usage;
kbd_dev           461 uspace/drv/hid/usbhid/kbd/kbddev.c 			kbd_dev->keys[i] = 0;
kbd_dev           463 uspace/drv/hid/usbhid/kbd/kbddev.c 		usb_log_debug2("Saved %u. key usage %d", i, kbd_dev->keys[i]);
kbd_dev           474 uspace/drv/hid/usbhid/kbd/kbddev.c 	usb_kbd_check_key_changes(hid_dev, kbd_dev);
kbd_dev           479 uspace/drv/hid/usbhid/kbd/kbddev.c static errno_t kbd_dev_init(usb_kbd_t *kbd_dev, usb_hid_dev_t *hid_dev)
kbd_dev           481 uspace/drv/hid/usbhid/kbd/kbddev.c 	assert(kbd_dev);
kbd_dev           485 uspace/drv/hid/usbhid/kbd/kbddev.c 	fibril_mutex_initialize(&kbd_dev->repeat_mtx);
kbd_dev           486 uspace/drv/hid/usbhid/kbd/kbddev.c 	kbd_dev->initialized = USB_KBD_STATUS_UNINITIALIZED;
kbd_dev           489 uspace/drv/hid/usbhid/kbd/kbddev.c 	kbd_dev->hid_dev = hid_dev;
kbd_dev           492 uspace/drv/hid/usbhid/kbd/kbddev.c 	kbd_dev->mods = DEFAULT_ACTIVE_MODS;
kbd_dev           495 uspace/drv/hid/usbhid/kbd/kbddev.c 	kbd_dev->repeat.delay_before = DEFAULT_DELAY_BEFORE_FIRST_REPEAT;
kbd_dev           496 uspace/drv/hid/usbhid/kbd/kbddev.c 	kbd_dev->repeat.delay_between = DEFAULT_REPEAT_DELAY;
kbd_dev           502 uspace/drv/hid/usbhid/kbd/kbddev.c 		usb_kbd_destroy(kbd_dev);
kbd_dev           511 uspace/drv/hid/usbhid/kbd/kbddev.c 		usb_kbd_destroy(kbd_dev);
kbd_dev           517 uspace/drv/hid/usbhid/kbd/kbddev.c 	kbd_dev->key_count =
kbd_dev           522 uspace/drv/hid/usbhid/kbd/kbddev.c 	usb_log_debug("Size of the input report: %zu", kbd_dev->key_count);
kbd_dev           524 uspace/drv/hid/usbhid/kbd/kbddev.c 	kbd_dev->keys = calloc(kbd_dev->key_count, sizeof(int32_t));
kbd_dev           525 uspace/drv/hid/usbhid/kbd/kbddev.c 	if (kbd_dev->keys == NULL) {
kbd_dev           527 uspace/drv/hid/usbhid/kbd/kbddev.c 		usb_kbd_destroy(kbd_dev);
kbd_dev           531 uspace/drv/hid/usbhid/kbd/kbddev.c 	kbd_dev->keys_old = calloc(kbd_dev->key_count, sizeof(int32_t));
kbd_dev           532 uspace/drv/hid/usbhid/kbd/kbddev.c 	if (kbd_dev->keys_old == NULL) {
kbd_dev           534 uspace/drv/hid/usbhid/kbd/kbddev.c 		usb_kbd_destroy(kbd_dev);
kbd_dev           539 uspace/drv/hid/usbhid/kbd/kbddev.c 	kbd_dev->output_size = 0;
kbd_dev           540 uspace/drv/hid/usbhid/kbd/kbddev.c 	kbd_dev->output_buffer = usb_hid_report_output(&hid_dev->report,
kbd_dev           541 uspace/drv/hid/usbhid/kbd/kbddev.c 	    &kbd_dev->output_size, 0);
kbd_dev           542 uspace/drv/hid/usbhid/kbd/kbddev.c 	if (kbd_dev->output_buffer == NULL) {
kbd_dev           544 uspace/drv/hid/usbhid/kbd/kbddev.c 		usb_kbd_destroy(kbd_dev);
kbd_dev           548 uspace/drv/hid/usbhid/kbd/kbddev.c 	usb_log_debug("Output buffer size: %zu", kbd_dev->output_size);
kbd_dev           550 uspace/drv/hid/usbhid/kbd/kbddev.c 	kbd_dev->led_path = usb_hid_report_path();
kbd_dev           551 uspace/drv/hid/usbhid/kbd/kbddev.c 	if (kbd_dev->led_path == NULL) {
kbd_dev           553 uspace/drv/hid/usbhid/kbd/kbddev.c 		usb_kbd_destroy(kbd_dev);
kbd_dev           558 uspace/drv/hid/usbhid/kbd/kbddev.c 	    kbd_dev->led_path, USB_HIDUT_PAGE_LED, 0);
kbd_dev           561 uspace/drv/hid/usbhid/kbd/kbddev.c 		usb_kbd_destroy(kbd_dev);
kbd_dev           565 uspace/drv/hid/usbhid/kbd/kbddev.c 	kbd_dev->led_output_size = usb_hid_report_size(
kbd_dev           569 uspace/drv/hid/usbhid/kbd/kbddev.c 	    kbd_dev->led_output_size);
kbd_dev           571 uspace/drv/hid/usbhid/kbd/kbddev.c 	kbd_dev->led_data = calloc(kbd_dev->led_output_size, sizeof(int32_t));
kbd_dev           572 uspace/drv/hid/usbhid/kbd/kbddev.c 	if (kbd_dev->led_data == NULL) {
kbd_dev           574 uspace/drv/hid/usbhid/kbd/kbddev.c 		usb_kbd_destroy(kbd_dev);
kbd_dev           582 uspace/drv/hid/usbhid/kbd/kbddev.c 	usb_kbd_set_led(hid_dev, kbd_dev);
kbd_dev           587 uspace/drv/hid/usbhid/kbd/kbddev.c 	kbd_dev->initialized = USB_KBD_STATUS_INITIALIZED;
kbd_dev           634 uspace/drv/hid/usbhid/kbd/kbddev.c 	usb_kbd_t *kbd_dev = ddf_fun_data_alloc(fun, sizeof(usb_kbd_t));
kbd_dev           635 uspace/drv/hid/usbhid/kbd/kbddev.c 	if (kbd_dev == NULL) {
kbd_dev           641 uspace/drv/hid/usbhid/kbd/kbddev.c 	errno_t ret = kbd_dev_init(kbd_dev, hid_dev);
kbd_dev           658 uspace/drv/hid/usbhid/kbd/kbddev.c 		usb_kbd_destroy(kbd_dev);
kbd_dev           673 uspace/drv/hid/usbhid/kbd/kbddev.c 		usb_kbd_destroy(kbd_dev);
kbd_dev           685 uspace/drv/hid/usbhid/kbd/kbddev.c 	fid_t fid = fibril_create(usb_kbd_repeat_fibril, kbd_dev);
kbd_dev           688 uspace/drv/hid/usbhid/kbd/kbddev.c 		usb_kbd_destroy(kbd_dev);
kbd_dev           692 uspace/drv/hid/usbhid/kbd/kbddev.c 	kbd_dev->fun = fun;
kbd_dev           694 uspace/drv/hid/usbhid/kbd/kbddev.c 	*data = kbd_dev;
kbd_dev           706 uspace/drv/hid/usbhid/kbd/kbddev.c 	usb_kbd_t *kbd_dev = data;
kbd_dev           708 uspace/drv/hid/usbhid/kbd/kbddev.c 	usb_kbd_process_data(hid_dev, kbd_dev);
kbd_dev           714 uspace/drv/hid/usbhid/kbd/kbddev.c int usb_kbd_is_initialized(const usb_kbd_t *kbd_dev)
kbd_dev           716 uspace/drv/hid/usbhid/kbd/kbddev.c 	return (kbd_dev->initialized == USB_KBD_STATUS_INITIALIZED);
kbd_dev           719 uspace/drv/hid/usbhid/kbd/kbddev.c int usb_kbd_is_ready_to_destroy(const usb_kbd_t *kbd_dev)
kbd_dev           721 uspace/drv/hid/usbhid/kbd/kbddev.c 	return (kbd_dev->initialized == USB_KBD_STATUS_TO_DESTROY);
kbd_dev           729 uspace/drv/hid/usbhid/kbd/kbddev.c void usb_kbd_destroy(usb_kbd_t *kbd_dev)
kbd_dev           731 uspace/drv/hid/usbhid/kbd/kbddev.c 	if (kbd_dev == NULL) {
kbd_dev           736 uspace/drv/hid/usbhid/kbd/kbddev.c 	if (kbd_dev->client_sess)
kbd_dev           737 uspace/drv/hid/usbhid/kbd/kbddev.c 		async_hangup(kbd_dev->client_sess);
kbd_dev           742 uspace/drv/hid/usbhid/kbd/kbddev.c 	while (fibril_mutex_is_locked(&kbd_dev->repeat_mtx)) {
kbd_dev           746 uspace/drv/hid/usbhid/kbd/kbddev.c 	free(kbd_dev->keys);
kbd_dev           747 uspace/drv/hid/usbhid/kbd/kbddev.c 	free(kbd_dev->keys_old);
kbd_dev           748 uspace/drv/hid/usbhid/kbd/kbddev.c 	free(kbd_dev->led_data);
kbd_dev           750 uspace/drv/hid/usbhid/kbd/kbddev.c 	usb_hid_report_path_free(kbd_dev->led_path);
kbd_dev           751 uspace/drv/hid/usbhid/kbd/kbddev.c 	usb_hid_report_output_free(kbd_dev->output_buffer);
kbd_dev           753 uspace/drv/hid/usbhid/kbd/kbddev.c 	if (kbd_dev->fun) {
kbd_dev           754 uspace/drv/hid/usbhid/kbd/kbddev.c 		if (ddf_fun_unbind(kbd_dev->fun) != EOK) {
kbd_dev           756 uspace/drv/hid/usbhid/kbd/kbddev.c 			    ddf_fun_get_name(kbd_dev->fun));
kbd_dev           759 uspace/drv/hid/usbhid/kbd/kbddev.c 			    ddf_fun_get_name(kbd_dev->fun));
kbd_dev           760 uspace/drv/hid/usbhid/kbd/kbddev.c 			ddf_fun_destroy(kbd_dev->fun);
kbd_dev           768 uspace/drv/hid/usbhid/kbd/kbddev.c 		usb_kbd_t *kbd_dev = data;
kbd_dev           769 uspace/drv/hid/usbhid/kbd/kbddev.c 		if (usb_kbd_is_initialized(kbd_dev)) {
kbd_dev           770 uspace/drv/hid/usbhid/kbd/kbddev.c 			kbd_dev->initialized = USB_KBD_STATUS_TO_DESTROY;
kbd_dev           774 uspace/drv/hid/usbhid/kbd/kbddev.c 		usb_kbd_destroy(kbd_dev);
kbd_dev            67 uspace/srv/hid/input/ctl/kbdev.c 	kbd_dev_t *kbd_dev;
kbd_dev            79 uspace/srv/hid/input/ctl/kbdev.c 	kbdev->kbd_dev = kdev;
kbd_dev           174 uspace/srv/hid/input/ctl/kbdev.c 			kbd_push_event(kbdev->kbd_dev, type, key);
kbd_dev            58 uspace/srv/hid/input/ctl/stty.c static kbd_dev_t *kbd_dev;
kbd_dev           327 uspace/srv/hid/input/ctl/stty.c 	kbd_dev = kdev;
kbd_dev           343 uspace/srv/hid/input/ctl/stty.c 		stroke_sim(kbd_dev, mods, key);
kbd_dev            55 uspace/srv/hid/input/ctl/sun.c static kbd_dev_t *kbd_dev;
kbd_dev            64 uspace/srv/hid/input/ctl/sun.c 	kbd_dev = kdev;
kbd_dev            88 uspace/srv/hid/input/ctl/sun.c 		kbd_push_event(kbd_dev, type, key);
kbd_dev            42 uspace/srv/hid/input/kbd_ctl.h struct kbd_dev;
kbd_dev            46 uspace/srv/hid/input/kbd_ctl.h 	errno_t (*init)(struct kbd_dev *);
kbd_dev            47 uspace/srv/hid/input/kbd_ctl.h 	void (*set_ind)(struct kbd_dev *, unsigned int);
kbd_dev            42 uspace/srv/hid/input/kbd_port.h struct kbd_dev;
kbd_dev            45 uspace/srv/hid/input/kbd_port.h 	errno_t (*init)(struct kbd_dev *);
kbd_dev            57 uspace/srv/hid/input/port/chardev.c static kbd_dev_t *kbd_dev;
kbd_dev            80 uspace/srv/hid/input/port/chardev.c 	kbd_dev = kdev;
kbd_dev           149 uspace/srv/hid/input/port/chardev.c 		kbd_push_data(kbd_dev, b);
HelenOS homepage, sources at GitHub