When USB network card drivers are used, the BIOS' legacy USB capability is necessarily disabled since there is no way to share the host controller between the BIOS and iPXE. Commit 3726722 ("[usb] Add basic support for USB keyboards") added support allowing a USB keyboard to be used within iPXE. However, external code such as a PXE NBP has no way to utilise this support, and so a USB keyboard cannot be used to control a PXE NBP loaded from a USB network card. Add support for injecting keypresses from any iPXE console into the BIOS keyboard buffer. This allows external code such as a PXE NBP to function with a USB keyboard even after the BIOS' legacy USB capability has been disabled. Signed-off-by: Michael Brown <mcb30@ipxe.org>tags/v1.20.1
|
|
||
26 |
|
26 |
|
27 |
|
27 |
|
28 |
|
28 |
|
|
29 |
|
|
29 |
|
30 |
|
30 |
|
31 |
|
|
32 |
|
|
31 |
|
33 |
|
|
34 |
|
|
32 |
|
35 |
|
33 |
|
36 |
|
34 |
|
37 |
|
|
|
||
66 |
|
69 |
|
67 |
|
70 |
|
68 |
|
71 |
|
|
72 |
|
|
|
73 |
|
|
|
74 |
|
|
|
75 |
|
|
|
76 |
|
|
|
77 |
|
|
|
78 |
|
|
|
79 |
|
|
|
80 |
|
|
|
81 |
|
|
|
82 |
|
|
69 |
|
83 |
|
70 |
|
84 |
|
71 |
|
85 |
|
|
|
||
265 |
|
279 |
|
266 |
|
280 |
|
267 |
|
281 |
|
268 |
|
|
|
269 |
|
|
|
270 |
|
|
|
271 |
|
|
|
272 |
|
|
|
273 |
|
|
|
274 |
|
|
|
275 |
|
|
|
276 |
|
|
|
277 |
|
|
|
278 |
|
|
|
279 |
|
|
|
280 |
|
|
|
281 |
|
|
|
282 |
|
|
|
283 |
|
|
|
284 |
|
|
|
285 |
|
|
|
286 |
|
|
|
287 |
|
|
|
288 |
|
|
|
289 |
|
|
|
290 |
|
|
|
291 |
|
|
|
|
282 |
|
|
|
283 |
|
|
|
284 |
|
|
|
285 |
|
|
|
286 |
|
|
|
287 |
|
|
|
288 |
|
|
|
289 |
|
|
|
290 |
|
|
|
291 |
|
|
|
292 |
|
|
|
293 |
|
|
|
294 |
|
|
|
295 |
|
|
|
296 |
|
|
|
297 |
|
|
|
298 |
|
|
|
299 |
|
|
|
300 |
|
|
|
301 |
|
|
|
302 |
|
|
|
303 |
|
|
|
304 |
|
|
|
305 |
|
|
|
306 |
|
|
|
307 |
|
|
|
308 |
|
|
|
309 |
|
|
|
310 |
|
|
292 |
|
311 |
|
293 |
|
312 |
|
294 |
|
313 |
|
|
|
||
297 |
|
316 |
|
298 |
|
317 |
|
299 |
|
318 |
|
300 |
|
|
|
301 |
|
|
|
302 |
|
|
|
303 |
|
|
|
304 |
|
|
|
305 |
|
|
|
306 |
|
|
|
|
319 |
|
|
|
320 |
|
|
|
321 |
|
|
|
322 |
|
|
|
323 |
|
|
|
324 |
|
|
|
325 |
|
|
|
326 |
|
|
|
327 |
|
|
|
328 |
|
|
|
329 |
|
|
|
330 |
|
|
|
331 |
|
|
|
332 |
|
|
|
333 |
|
|
|
334 |
|
|
|
335 |
|
|
|
336 |
|
|
|
337 |
|
|
|
338 |
|
|
|
339 |
|
|
|
340 |
|
|
|
341 |
|
|
|
342 |
|
|
|
343 |
|
|
|
344 |
|
|
|
345 |
|
|
307 |
|
346 |
|
|
347 |
|
|
308 |
|
348 |
|
309 |
|
349 |
|
310 |
|
350 |
|
|
|
||
336 |
|
376 |
|
337 |
|
377 |
|
338 |
|
378 |
|
339 |
|
|
|
340 |
|
|
|
|
379 |
|
|
|
380 |
|
|
341 |
|
381 |
|
342 |
|
382 |
|
343 |
|
383 |
|
|
384 |
|
|
|
385 |
|
|
|
386 |
|
|
|
387 |
|
|
344 |
|
388 |
|
|
389 |
|
|
345 |
|
390 |
|
346 |
|
391 |
|
347 |
|
392 |
|
348 |
|
|
|
|
393 |
|
|
|
394 |
|
|
|
395 |
|
|
349 |
|
396 |
|
350 |
|
397 |
|
351 |
|
398 |
|
|
|
||
353 |
|
400 |
|
354 |
|
401 |
|
355 |
|
402 |
|
356 |
|
|
|
|
403 |
|
|
357 |
|
404 |
|
358 |
|
|
|
|
405 |
|
|
359 |
|
406 |
|
360 |
|
407 |
|
361 |
|
408 |
|
|
|
||
373 |
|
420 |
|
374 |
|
421 |
|
375 |
|
422 |
|
376 |
|
|
|
|
423 |
|
|
377 |
|
424 |
|
378 |
|
425 |
|
|
426 |
|
|
|
427 |
|
|
|
428 |
|
|
|
429 |
|
|
379 |
|
430 |
|
|
431 |
|
|
380 |
|
432 |
|
381 |
|
433 |
|
382 |
|
434 |
|
383 |
|
435 |
|
384 |
|
436 |
|
385 |
|
437 |
|
386 |
|
|
|
|
438 |
|
|
|
439 |
|
|
387 |
|
440 |
|
388 |
|
441 |
|
389 |
|
442 |
|
|
443 |
|
|
390 |
|
444 |
|
391 |
|
445 |
|
392 |
|
446 |
|
393 |
|
447 |
|
394 |
|
448 |
|
395 |
|
449 |
|
|
450 |
|
|
|
451 |
|
|
|
452 |
|
|
|
453 |
|
|
|
454 |
|
|
|
455 |
|
|
|
456 |
|
|
|
457 |
|
|
|
458 |
|
|
|
459 |
|
|
|
460 |
|
|
|
461 |
|
|
|
462 |
|
|
|
463 |
|
|
|
464 |
|
|
|
465 |
|
|
|
466 |
|
|
|
467 |
|
|
|
468 |
|
|
|
469 |
|
|
|
470 |
|
|
|
471 |
|
|
|
472 |
|
|
|
473 |
|
|
|
474 |
|
|
|
475 |
|
|
|
476 |
|
|
|
477 |
|
|
|
478 |
|
|
|
479 |
|
|
|
480 |
|
|
|
481 |
|
|
|
482 |
|
|
|
483 |
|
|
|
484 |
|
|
|
485 |
|
|
|
486 |
|
|
|
487 |
|
|
|
488 |
|
|
|
489 |
|
|
|
490 |
|
|
|
491 |
|
|
|
492 |
|
|
|
493 |
|
|
|
494 |
|
|
|
495 |
|
|
|
496 |
|
|
|
497 |
|
|
|
498 |
|
|
|
499 |
|
|
|
500 |
|
|
|
501 |
|
|
|
502 |
|
|
|
503 |
|
|
|
504 |
|
|
|
505 |
|
|
|
506 |
|
|
|
507 |
|
|
|
508 |
|
|
|
509 |
|
|
|
510 |
|
|
|
511 |
|
|
|
512 |
|
|
|
513 |
|
|
|
514 |
|
|
|
515 |
|
|
|
516 |
|
|
|
517 |
|
|
|
518 |
|
|
|
519 |
|
|
|
520 |
|
|
|
521 |
|
|
|
522 |
|
|
|
523 |
|
|
|
524 |
|
|
|
525 |
|
|
|
526 |
|
|
|
527 |
|
|
|
528 |
|
|
|
529 |
|
|
|
530 |
|
|
|
531 |
|
|
|
532 |
|
|
|
533 |
|
|
|
534 |
|
|
|
535 |
|
|
|
536 |
|
|
|
537 |
|
|
|
538 |
|
|
|
539 |
|
|
|
540 |
|
|
|
541 |
|
|
|
542 |
|
|
|
543 |
|
|
|
544 |
|
|
|
545 |
|
|
|
546 |
|
|
|
547 |
|
|
|
548 |
|
|
|
549 |
|
|
|
550 |
|
|
|
551 |
|
|
|
552 |
|
|
|
553 |
|
|
|
554 |
|
|
|
555 |
|
|
|
556 |
|
|
|
557 |
|
|
|
558 |
|
|
|
559 |
|
|
|
560 |
|
|
|
561 |
|
|
|
562 |
|
|
|
563 |
|
|
|
564 |
|
|
|
565 |
|
|
|
566 |
|