@@ -706,17 +706,34 @@ class AsProviderMadlions extends AsProvider
706706 filters . push ( { vendorId : 0x373b , usagePage : 0xFF60 , usage : 0x61 , productId : 0x1055 } ) ;
707707 filters . push ( { vendorId : 0x373b , usagePage : 0xFF60 , usage : 0x61 , productId : 0x1056 } ) ;
708708 filters . push ( { vendorId : 0x373b , usagePage : 0xFF60 , usage : 0x61 , productId : 0x105D } ) ;
709+ // MAD68HE
710+ filters . push ( { vendorId : 0x373b , usagePage : 0xFF60 , usage : 0x61 , productId : 0x1059 } ) ;
711+ filters . push ( { vendorId : 0x373b , usagePage : 0xFF60 , usage : 0x61 , productId : 0x105A } ) ;
712+ filters . push ( { vendorId : 0x373b , usagePage : 0xFF60 , usage : 0x61 , productId : 0x105C } ) ;
709713 }
710714
711715 startListening ( handler )
712716 {
713- const layout = [
714- /* 0 */ KEY_ESCAPE , KEY_1 , KEY_2 , KEY_3 , KEY_4 , KEY_5 , KEY_6 , KEY_7 , KEY_8 , KEY_9 , KEY_0 , KEY_MINUS , KEY_EQUALS , KEY_BACKSPACE ,
715- /* 14 */ KEY_TAB , KEY_Q , KEY_W , KEY_E , KEY_R , KEY_T , KEY_Y , KEY_U , KEY_I , KEY_O , KEY_P , KEY_BRACKET_LEFT , KEY_BRACKET_RIGHT , KEY_BACKSLASH ,
716- /* 28 */ KEY_CAPS_LOCK , KEY_A , KEY_S , KEY_D , KEY_F , KEY_G , KEY_H , KEY_J , KEY_K , KEY_L , KEY_SEMICOLON , KEY_QUOTE , KEY_NONE , KEY_ENTER ,
717- /* 42 */ KEY_LSHIFT , KEY_NONE , KEY_Z , KEY_X , KEY_C , KEY_V , KEY_B , KEY_N , KEY_M , KEY_COMMA , KEY_PERIOD , KEY_SLASH , KEY_NONE , KEY_RSHIFT ,
718- /* 56 */ KEY_LCTRL , KEY_LMETA , KEY_LALT , KEY_NONE , KEY_NONE , KEY_NONE , KEY_SPACE , KEY_NONE , KEY_NONE , KEY_RMETA , KEY_RALT , KEY_CTX , KEY_RCTRL , KEY_FN ,
719- ] ;
717+ if ( this . dev . productId == 0x1055 || this . dev . productId == 0x1056 || this . dev . productId == 0x105D )
718+ {
719+ this . layout = [
720+ KEY_ESCAPE , KEY_1 , KEY_2 , KEY_3 , KEY_4 , KEY_5 , KEY_6 , KEY_7 , KEY_8 , KEY_9 , KEY_0 , KEY_MINUS , KEY_EQUALS , KEY_BACKSPACE ,
721+ KEY_TAB , KEY_Q , KEY_W , KEY_E , KEY_R , KEY_T , KEY_Y , KEY_U , KEY_I , KEY_O , KEY_P , KEY_BRACKET_LEFT , KEY_BRACKET_RIGHT , KEY_BACKSLASH ,
722+ KEY_CAPS_LOCK , KEY_A , KEY_S , KEY_D , KEY_F , KEY_G , KEY_H , KEY_J , KEY_K , KEY_L , KEY_SEMICOLON , KEY_QUOTE , KEY_NONE , KEY_ENTER ,
723+ KEY_LSHIFT , KEY_NONE , KEY_Z , KEY_X , KEY_C , KEY_V , KEY_B , KEY_N , KEY_M , KEY_COMMA , KEY_PERIOD , KEY_SLASH , KEY_NONE , KEY_RSHIFT ,
724+ KEY_LCTRL , KEY_LMETA , KEY_LALT , KEY_NONE , KEY_NONE , KEY_NONE , KEY_SPACE , KEY_NONE , KEY_NONE , KEY_RMETA , KEY_RALT , KEY_CTX , KEY_RCTRL , KEY_FN ,
725+ ] ;
726+ }
727+ else
728+ {
729+ this . layout = [
730+ KEY_ESCAPE , KEY_1 , KEY_2 , KEY_3 , KEY_4 , KEY_5 , KEY_6 , KEY_7 , KEY_8 , KEY_9 , KEY_0 , KEY_MINUS , KEY_EQUALS , KEY_BACKSPACE , KEY_INSERT ,
731+ KEY_TAB , KEY_Q , KEY_W , KEY_E , KEY_R , KEY_T , KEY_Y , KEY_U , KEY_I , KEY_O , KEY_P , KEY_BRACKET_LEFT , KEY_BRACKET_RIGHT , KEY_BACKSLASH , KEY_DEL ,
732+ KEY_CAPS_LOCK , KEY_A , KEY_S , KEY_D , KEY_F , KEY_G , KEY_H , KEY_J , KEY_K , KEY_L , KEY_SEMICOLON , KEY_QUOTE , KEY_NONE , KEY_ENTER , KEY_PAGE_UP ,
733+ KEY_LSHIFT , KEY_NONE , KEY_Z , KEY_X , KEY_C , KEY_V , KEY_B , KEY_N , KEY_M , KEY_COMMA , KEY_PERIOD , KEY_SLASH , KEY_RSHIFT , KEY_ARROW_UP , KEY_PAGE_DOWN ,
734+ KEY_LCTRL , KEY_LMETA , KEY_LALT , KEY_NONE , KEY_NONE , KEY_NONE , KEY_SPACE , KEY_NONE , KEY_NONE , KEY_RALT , KEY_FN , KEY_RCTRL , KEY_ARROW_LEFT , KEY_ARROW_DOWN , KEY_ARROW_RIGHT ,
735+ ] ;
736+ }
720737
721738 this . offset = 0 ;
722739 this . buffer = { } ;
@@ -735,9 +752,9 @@ class AsProviderMadlions extends AsProvider
735752 {
736753 for ( let i = 0 ; i != 4 ; ++ i )
737754 {
738- if ( _this . offset + i < layout . length )
755+ if ( _this . offset + i < this . layout . length )
739756 {
740- const key = layout [ _this . offset + i ] ;
757+ const key = this . layout [ _this . offset + i ] ;
741758 const travel = event . data . getUint16 ( 7 + ( i * 5 ) + 3 ) ;
742759 if ( travel == 0 )
743760 {
@@ -752,7 +769,7 @@ class AsProviderMadlions extends AsProvider
752769 handler ( _this . _bufferToActiveKeys ( ) ) ;
753770
754771 _this . offset += 4 ;
755- if ( _this . offset >= layout . length )
772+ if ( _this . offset >= this . layout . length )
756773 {
757774 _this . offset = 0 ;
758775 }
0 commit comments