feat(protocol): define gateway control envelopes

This commit is contained in:
sechmachine
2026-07-29 17:24:18 +07:00
parent 36f6edffca
commit 0ea21cd3f2
29 changed files with 1445 additions and 41 deletions
@@ -0,0 +1,22 @@
id version kind input expected
valid-keyboard-press 1 gateway_input hex=5647493101040102001e valid
valid-keyboard-release 1 gateway_input hex=5647493101040000001e valid
valid-mouse-button 1 gateway_input hex=564749310203010100 valid
valid-mouse-release 1 gateway_input hex=564749310203000100 valid
valid-relative-mouse 1 gateway_input hex=564749310304fffe0003 valid
valid-utf8-scalar 1 gateway_input hex=564749310403e29883 valid
valid-controller 1 gateway_input hex=5647493105110200030004ffff00010002000300040005 valid
valid-controller-release 1 gateway_input hex=5647493105110200000000000000000000000000000000 valid
valid-idr 1 gateway_feedback hex=5647463100010000 valid
valid-fec 1 gateway_feedback hex=56474631000200150000002a000500030002000a000200080002140001 valid
valid-termination 1 gateway_feedback hex=564746310110000400000001 valid
valid-rumble 1 gateway_feedback hex=56474631011100050112345678 valid
valid-hdr 1 gateway_feedback hex=564746310112000101 valid
invalid-input-magic 1 gateway_input hex=494e503101040102001e invalid:magic
invalid-input-kind 1 gateway_input hex=564749317f00 invalid:kind
invalid-input-reserved 1 gateway_input hex=564749310203010101 invalid:reserved
invalid-input-utf8 1 gateway_input hex=564749310402c328 invalid:utf8
invalid-input-length 1 gateway_input hex=564749310104010200 invalid:length
invalid-feedback-direction 1 gateway_feedback hex=5647463101020000 invalid:direction
invalid-feedback-type 1 gateway_feedback hex=5647463100030000 invalid:type
invalid-feedback-length 1 gateway_feedback hex=5647463101100003000000 invalid:length
1 id version kind input expected
2 valid-keyboard-press 1 gateway_input hex=5647493101040102001e valid
3 valid-keyboard-release 1 gateway_input hex=5647493101040000001e valid
4 valid-mouse-button 1 gateway_input hex=564749310203010100 valid
5 valid-mouse-release 1 gateway_input hex=564749310203000100 valid
6 valid-relative-mouse 1 gateway_input hex=564749310304fffe0003 valid
7 valid-utf8-scalar 1 gateway_input hex=564749310403e29883 valid
8 valid-controller 1 gateway_input hex=5647493105110200030004ffff00010002000300040005 valid
9 valid-controller-release 1 gateway_input hex=5647493105110200000000000000000000000000000000 valid
10 valid-idr 1 gateway_feedback hex=5647463100010000 valid
11 valid-fec 1 gateway_feedback hex=56474631000200150000002a000500030002000a000200080002140001 valid
12 valid-termination 1 gateway_feedback hex=564746310110000400000001 valid
13 valid-rumble 1 gateway_feedback hex=56474631011100050112345678 valid
14 valid-hdr 1 gateway_feedback hex=564746310112000101 valid
15 invalid-input-magic 1 gateway_input hex=494e503101040102001e invalid:magic
16 invalid-input-kind 1 gateway_input hex=564749317f00 invalid:kind
17 invalid-input-reserved 1 gateway_input hex=564749310203010101 invalid:reserved
18 invalid-input-utf8 1 gateway_input hex=564749310402c328 invalid:utf8
19 invalid-input-length 1 gateway_input hex=564749310104010200 invalid:length
20 invalid-feedback-direction 1 gateway_feedback hex=5647463101020000 invalid:direction
21 invalid-feedback-type 1 gateway_feedback hex=5647463100030000 invalid:type
22 invalid-feedback-length 1 gateway_feedback hex=5647463101100003000000 invalid:length