I used it on win7, and if I remember correctly on XP. It should work on win10.
You have keys.PBP, with all defined keys, also in .doc document you have codes.

Also USBSERVICE should be called every 10mS or so. I wanted to implement it with DT INT, but newer did...
It should be something like this

Code:
INCLUDE "DT_INTS-18.bas"
INCLUDE "ReEnterPBP-18.bas"
 
ASM
INT_LIST  macro		; IntSource,       Label,       Type,  ResetFlag?
        INT_Handler   USB_INT,  _SERVICE_USB,       ASM,  yes 
    endm
    INT_CREATE		; Creates the interrupt processor
ENDASM

USBINIT                'INITIALIZE USB
USBSERVICE             'SERVICE USB
UIE = $7F              'ENABLE USB INTERRUPTS
UEIE = $9F             'ENABLE USB ERROR INTERRUPTS
@ INT_ENABLE  USB_INT


SERVICE_USB:
    USBSERVICE
@ INT_RETURN
This code is also from forum, but never tried it.