Skip to content

Commit 43c9abf

Browse files
Dinar Valeevaik
authored andcommitted
Fix function keys on USB
This is fixing F1-F12 keys in grub2. Sequence was grabbed by running cat in xterm and pressing relative function key. Signed-off-by: Dinar Valeev <dvaleev@suse.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
1 parent 9633e03 commit 43c9abf

File tree

1 file changed

+12
-16
lines changed

1 file changed

+12
-16
lines changed

lib/libusb/usb-hid.c

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -214,33 +214,29 @@ static void check_key_code(uint8_t *buf)
214214
case 0x3a: /* F1 */
215215
write_key(0x1b);
216216
write_key(0x5b);
217-
write_key(0x31);
218-
write_key(0x31);
219-
write_key(0x7e);
217+
write_key(0x4f);
218+
write_key(0x50);
220219
break;
221220

222221
case 0x3b: /* F2 */
223222
write_key(0x1b);
224223
write_key(0x5b);
225-
write_key(0x31);
226-
write_key(0x32);
227-
write_key(0x7e);
224+
write_key(0x4f);
225+
write_key(0x51);
228226
break;
229227

230228
case 0x3c:
231229
write_key(0x1b); /* F3 */
232230
write_key(0x5b);
233-
write_key(0x31);
234-
write_key(0x33);
235-
write_key(0x7e);
231+
write_key(0x4f);
232+
write_key(0x52);
236233
break;
237234

238235
case 0x3d:
239236
write_key(0x1b); /* F4 */
240237
write_key(0x5b);
241-
write_key(0x31);
242-
write_key(0x34);
243-
write_key(0x7e);
238+
write_key(0x4f);
239+
write_key(0x53);
244240
break;
245241

246242
case 0x3e:
@@ -278,31 +274,31 @@ static void check_key_code(uint8_t *buf)
278274
case 0x42:
279275
write_key(0x1b); /* F9 */
280276
write_key(0x5b);
281-
write_key(0x31);
277+
write_key(0x32);
282278
write_key(0x30);
283279
write_key(0x7e);
284280
break;
285281

286282
case 0x43:
287283
write_key(0x1b); /* F10 */
288284
write_key(0x5b);
289-
write_key(0x31);
285+
write_key(0x32);
290286
write_key(0x31);
291287
write_key(0x7e);
292288
break;
293289

294290
case 0x44:
295291
write_key(0x1b); /* F11 */
296292
write_key(0x5b);
297-
write_key(0x31);
293+
write_key(0x32);
298294
write_key(0x33);
299295
write_key(0x7e);
300296
break;
301297

302298
case 0x45:
303299
write_key(0x1b); /* F12 */
304300
write_key(0x5b);
305-
write_key(0x31);
301+
write_key(0x32);
306302
write_key(0x34);
307303
write_key(0x7e);
308304
break;

0 commit comments

Comments
 (0)