Hi! Thanks for all the work on doing this.
I bought an adafruit feather and 3d printed a case, to make an (Xbox, perhaps more) gamepad → keyboard & mouse emulator to use with my MisterFPGA, to play dos games on the gamepad (brave, i know).
I have so far managed to do the mappings just fine, in 3 different layers (groups) so that i have a ‘layer’ for RTS games where the left stick moves the mouse, another layer for FPS games where left stick is WASD and right stick is mousemove then a 3rd layer for platformers using both the stick and dpad as arrow keys, the rest are button mappings for all layers.
What i want now is to add a combo of buttons to ‘switch’ from a layer to another. I decided to use ‘Select + Dpad left’, ‘Select + Dpad up’ and ‘Select + Dpad right’ as layer1, layer2, layer3 switches.
I followed all instructions in the examples, forum responses and even the online expression builder, leading to these 2 different scripts:
Script A:
0x00090009 input_state
0xfff90001 input_state
mul
1 store
And
0x00090009 prev_input_state_binary
0xfff90001 prev_input_state_binary
mul
not
0x00090009 input_state_binary
0xfff90001 input_state_binary
mul
mul
1 recall not
mul
bitwise_or
Sorry, dont know why the second script cannot be styled as a script for some reason.
Combined with the mappings as per the screenshots, this should switch to each layer… right? What am i doing wrong? Neither format will work to switch the layers. I have added a ‘test’ mapping for the L3 button to output 1 for layer 1, 2 for layer 2, etc so i can test it in notepad or something but it will always output 1, which is the default layer, so, not switching with the combo.
I can confirm that these codes actually work in the monitor tab both on their own and together (switching from 0 to 1 when select is pressed and when dpad up left or right are pressed too).
Any help?
2 more questions:
- in the mappings UI, layer checkboxes are labeled 0, 1, 2, 3 but on the mapping outputs there is no layer 0 but rather they are 1 based, not 0 based. I am a developer, so i understand everything really starts with 0 (lol) but not sure why on the UI it starts with 0 but in the output with 1, as this creates a visual weirdness (ie the mapping for output to layer 1, does not highlight layer 0 etc)
- When i plug in my xbox controller into the feather, then the feather into my macbook, the pad ‘takes over’ and moves the mouse automatically, so i cannot use the mouse at all while its connected but rather reely on the keyboard shortcuts to get around. Is there a way to disable this while the pad is connected somehow?
Many thanks and sorry for the lengty post, i just wanted to put everything here for completeness sake.







