Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cb1d93c9 authored by Jiri Kosina's avatar Jiri Kosina
Browse files

HID: input mapping for Chicony KU-0418 tactical pad



Chicony KU-0418 (aka Saitek PZ08AU gaming keyboard) has a separate
"tactical pad" with 11 non-functional buttons - they generate usage
codes from 0xff00 (MSVENDOR) usage page. Special case handling for
this keyboard added, so no later clash with MSVENDOR mappings is going
to occur.

Pointed out in bugzilla #7352

Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
parent 7dcca30a
Loading
Loading
Loading
Loading
+22 −1
Original line number Original line Diff line number Diff line
@@ -688,7 +688,28 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
			break;
			break;


		case HID_UP_MSVENDOR:
		case HID_UP_MSVENDOR:

			/* special case - Chicony Chicony KU-0418 tactical pad */
			if (device->vendor == 0x04f2 && device->product == 0x0418) {
				set_bit(EV_REP, input->evbit);
				switch(usage->hid & HID_USAGE) {
					case 0xff01: map_key_clear(BTN_1);		break;
					case 0xff02: map_key_clear(BTN_2);		break;
					case 0xff03: map_key_clear(BTN_3);		break;
					case 0xff04: map_key_clear(BTN_4);		break;
					case 0xff05: map_key_clear(BTN_5);		break;
					case 0xff06: map_key_clear(BTN_6);		break;
					case 0xff07: map_key_clear(BTN_7);		break;
					case 0xff08: map_key_clear(BTN_8);		break;
					case 0xff09: map_key_clear(BTN_9);		break;
					case 0xff0a: map_key_clear(BTN_A);		break;
					case 0xff0b: map_key_clear(BTN_B);		break;
					default:    goto ignore;
				}
			} else {
				goto ignore;
				goto ignore;
			}
			break;


		case HID_UP_CUSTOM: /* Reported on Logitech and Powerbook USB keyboards */
		case HID_UP_CUSTOM: /* Reported on Logitech and Powerbook USB keyboards */