anchor.diff:        true \ multi scan code key was pressed... so key is available
         EXIT \ done
      THEN
  -   kbd-scan 0 = IF \ if no kbd-scan code is currently available
  -      int-get-report \ check for one using int-get-report
  +   kbd-scan 0 = IF      \ if no kbd-scan code is currently available
  +      kbd-get-report    \ check for new scan codes
      THEN
  -   kbd-scan 0 <> \ if a kbd-scan is available, report true, else false
  +   kbd-scan 0 <>        \ if a kbd-scan is available, report true, else false
   ;
   
   : usb-kread ( -- char|false )                     \ usb key read for control transfer
  
positive.code: 	 63 of [char] . endof                      \ keypad .
  	 dup of ret endof                          \ other keys are no change
         endcase
         to ret                                      \ overwirte new char
       then
       ret                                           \ return char
  ;
  
negative.code: 1 constant NumLk
  2 constant CapsLk
  4 constant ScrLk
  
  TRUE VALUE use-interrupt-transfers?
  
  \ Check whether we're running on QEMU - in this case we disable the
  \ interrupt transfers since they are not working very well there yet.
  s" model" s" /" find-node get-property 0= IF
     2dup s" qemu" find-substr = TO use-interrupt-transfers?
     drop
  THEN
  
  
  00 value kbd-addr
  to kbd-addr                                \ save speed bit
  