Can I ask how you determined the following values?
/dev/input/jsX 0x3C 0x3E 0x2B 0x2D 0x70 0x71 0x69 0x6F
On a fresh RetroPie image using a wired Nintendo Switch controller, my button assignments do not match up to yours.
My device name is:
deviceName="BDA NSW wired controller"
So I'm curious how you determined those hex values.
The joy2key program is hard programed.
/dev/input/jsX means it is applied to all Linux joystick.
The hex escape codes are ansi keyboard codes for keypresses that overlay buttons in the order of 'left', 'right', 'up', 'down', 'a', 'b', 'x', 'y'
0x3C 0x3E 0x2B 0x2D 0x70 0x71 0x69 0x6F
I would suspect your buttons are backwards (Japanese style) so I would move the value around like this.
0x3C 0x3E 0x2B 0x2D 0x71 0x70 0x6F 0x69