@@ -475,25 +475,6 @@ fn main() -> ! {
475
475
scan_timer = timer. get_counter ( ) . ticks ( ) ;
476
476
}
477
477
478
- if !usb_suspended {
479
- let _ = keyboard_hid. interface ( ) . read_report ( ) ;
480
-
481
- // Setup the report for the control channel
482
- let keycodes = if let Some ( keycode) = keycode {
483
- [ keycode]
484
- } else {
485
- [ Keyboard :: NoEventIndicated ]
486
- } ;
487
- match keyboard_hid. interface ( ) . write_report ( keycodes) {
488
- Err ( UsbHidError :: WouldBlock ) | Err ( UsbHidError :: Duplicate ) | Ok ( _) => { }
489
- Err ( e) => panic ! ( "Failed to write keyboard report: {:?}" , e) ,
490
- }
491
- match keyboard_hid. interface ( ) . tick ( ) {
492
- Err ( UsbHidError :: WouldBlock ) | Ok ( _) => { }
493
- Err ( e) => panic ! ( "Failed to process keyboard tick: {:?}" , e) ,
494
- }
495
- }
496
-
497
478
// Wake the host.
498
479
if keycode. is_some ( ) && usb_suspended && usb_dev. remote_wakeup_enabled ( ) {
499
480
usb_dev. bus ( ) . remote_wakeup ( ) ;
@@ -527,7 +508,22 @@ fn main() -> ! {
527
508
//let kb = Matrix::default();
528
509
//let kb = scanner.scan();
529
510
530
- keyboard_hid. poll ( ) ;
511
+ let _ = keyboard_hid. interface ( ) . read_report ( ) ;
512
+
513
+ // Setup the report for the control channel
514
+ let keycodes = if let Some ( keycode) = keycode {
515
+ [ keycode]
516
+ } else {
517
+ [ Keyboard :: NoEventIndicated ]
518
+ } ;
519
+ match keyboard_hid. interface ( ) . write_report ( keycodes) {
520
+ Err ( UsbHidError :: WouldBlock ) | Err ( UsbHidError :: Duplicate ) | Ok ( _) => { }
521
+ Err ( e) => panic ! ( "Failed to write keyboard report: {:?}" , e) ,
522
+ }
523
+ match keyboard_hid. interface ( ) . tick ( ) {
524
+ Err ( UsbHidError :: WouldBlock ) | Ok ( _) => { }
525
+ Err ( e) => panic ! ( "Failed to process keyboard tick: {:?}" , e) ,
526
+ }
531
527
532
528
// let mut buf = [0u8; 64];
533
529
// match serial.read(&mut buf) {
0 commit comments