Lines Matching +full:key +full:- +full:down
1 // SPDX-License-Identifier: GPL-2.0
12 #include "hid-ids.h"
22 KEY_RESERVED, /* 24bit wheel down */
25 KEY_RESERVED, /* CMSS wheel Down */
28 KEY_RESERVED, /* EAX wheel down */
31 KEY_RESERVED, /* 3D Midi wheel down */
131 << (bits - 1 - i); in reverse()
142 return creative_sb0540->keymap[i]; in get_key()
154 int key; in creative_sb0540_raw_event() local
170 key = get_key(creative_sb0540, main_code); in creative_sb0540_raw_event()
171 if (key == 0 || key == KEY_RESERVED) { in creative_sb0540_raw_event()
172 hid_err(hid, "Could not get a key for main_code %llX\n", in creative_sb0540_raw_event()
177 input_report_key(creative_sb0540->input_dev, key, 1); in creative_sb0540_raw_event()
178 input_report_key(creative_sb0540->input_dev, key, 0); in creative_sb0540_raw_event()
179 input_sync(creative_sb0540->input_dev); in creative_sb0540_raw_event()
188 struct input_dev *input_dev = hidinput->input; in creative_sb0540_input_configured()
192 creative_sb0540->input_dev = input_dev; in creative_sb0540_input_configured()
194 input_dev->keycode = creative_sb0540->keymap; in creative_sb0540_input_configured()
195 input_dev->keycodesize = sizeof(unsigned short); in creative_sb0540_input_configured()
196 input_dev->keycodemax = ARRAY_SIZE(creative_sb0540->keymap); in creative_sb0540_input_configured()
198 input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP); in creative_sb0540_input_configured()
200 memcpy(creative_sb0540->keymap, creative_sb0540_key_table, in creative_sb0540_input_configured()
201 sizeof(creative_sb0540->keymap)); in creative_sb0540_input_configured()
203 set_bit(creative_sb0540->keymap[i], input_dev->keybit); in creative_sb0540_input_configured()
204 clear_bit(KEY_RESERVED, input_dev->keybit); in creative_sb0540_input_configured()
214 * We are remapping the keys ourselves, so ignore the hid-input in creative_sb0540_input_mapping()
217 return -1; in creative_sb0540_input_mapping()
226 creative_sb0540 = devm_kzalloc(&hid->dev, in creative_sb0540_probe()
230 return -ENOMEM; in creative_sb0540_probe()
232 creative_sb0540->hid = hid; in creative_sb0540_probe()
235 hid->quirks |= HID_QUIRK_HIDINPUT_FORCE; in creative_sb0540_probe()
261 .name = "creative-sb0540",