Lines Matching refs:input
7 #include <linux/input.h>
52 static void handle_buttons(struct input_dev *input)
54 struct buttons_dev *bdev = input_get_drvdata(input);
63 input_event(input, EV_MSC, MSC_SCAN, i);
64 input_report_key(input, bdev->keymap[i], 1);
65 input_sync(input);
69 input_event(input, EV_MSC, MSC_SCAN, i);
70 input_report_key(input, bdev->keymap[i], 0);
71 input_sync(input);
81 struct input_dev *input;
88 input = devm_input_allocate_device(&pdev->dev);
89 if (!input)
94 input_set_drvdata(input, bdev);
96 input->name = "SGI buttons";
97 input->phys = "sgi/input0";
98 input->id.bustype = BUS_HOST;
100 input->keycode = bdev->keymap;
101 input->keycodemax = ARRAY_SIZE(bdev->keymap);
102 input->keycodesize = sizeof(unsigned short);
104 input_set_capability(input, EV_MSC, MSC_SCAN);
105 __set_bit(EV_KEY, input->evbit);
107 __set_bit(bdev->keymap[i], input->keybit);
108 __clear_bit(KEY_RESERVED, input->keybit);
110 error = input_setup_polling(input, handle_buttons);
114 input_set_poll_interval(input, BUTTONS_POLL_INTERVAL);
116 error = input_register_device(input);