Section "InputClass" Identifier "joystick catchall" MatchProduct "Nintendo Switch Combined Joy-Cons" MatchIsJoystick "on" # Allow all joysticks connected to function MatchDevicePath "/dev/input/js*" Driver "joystick" # do (xmodmap -pke) in terminal to get all potential key=mappings # button=mappings correspong to mouse buttons (leftclick, rightclick,etc) # easy way to figure out what the button number on your combined (or separated) joycons is to go to https://gamepad-tester.com/ # the numbers (B0, B1, etc) correspond to 1, 2, etc # so button # is equal to the number on the website + 1 # (B, A, X, Y) == (left click, right click, middle click, paste) Option "MapButton1" "button=1" Option "MapButton2" "button=3" Option "MapButton3" "button=2" Option "MapButton4" "key=66" # (-,+,home) == (backspace, enter, escape) Option "MapButton10" "key=22" Option "MapButton11" "key=36" Option "MapButton12" "key=9" # (L, R, ZL, ZR) == volume down/up, brightness down/up Option "MapButton6" "key=122" Option "MapButton7" "key=123" Option "MapButton8" "key=232" Option "MapButton9" "key=233" # capture button Option "MapButton5" "disable-all" # right stick button Option "MapButton14" "key=71" # dpad (up, down, left, right) Option "MapButton15" "key=111" Option "MapButton16" "key=116" Option "MapButton17" "key=113" Option "MapButton18" "key=114" # right and left stick axis should automap correctly EndSection Section "InputClass" Identifier "joystick catchall" MatchProduct "Nintendo Switch Pro Controller" MatchIsJoystick "on" # Allow all joysticks connected to function MatchDevicePath "/dev/input/js*" Driver "joystick" # do (xmodmap -pke) in terminal to get all potential key=mappings # button=mappings correspong to mouse buttons (leftclick, rightclick,etc) # easy way to figure out what the button number on your combined (or separated) joycons is to go to https://gamepad-tester.com/ # the numbers (B0, B1, etc) correspond to 1, 2, etc # so button # is equal to the number on the website + 1 # (B, A, X, Y) == (left click, right click, middle click, paste) Option "MapButton1" "button=1" Option "MapButton2" "button=3" Option "MapButton3" "button=2" Option "MapButton4" "key=66" # (-,+,home) == (backspace, enter, escape) Option "MapButton10" "key=22" Option "MapButton11" "key=36" Option "MapButton12" "key=9" # (L, R, ZL, ZR) == volume down/up, brightness down/up Option "MapButton6" "key=122" Option "MapButton7" "key=123" Option "MapButton8" "key=232" Option "MapButton9" "key=233" # capture button Option "MapButton5" "disable-all" # right stick button Option "MapButton14" "key=71" # dpad (up, down, left, right) Option "MapAxis5" "mode=accelerated keylow=113 keyhigh=114" Option "MapAxis6" "mode=accelerated keylow=111 keyhigh=116" # right and left stick axis should automap correctly EndSection Section "InputClass" Identifier "joystick catchall" MatchProduct "Xbox Wireless Controller" MatchIsJoystick "on" # Allow all joysticks connected to function MatchDevicePath "/dev/input/event*" Driver "joystick" # do (xmodmap -pke) in terminal to get all potential key=mappings # button=mappings correspong to mouse buttons (leftclick, rightclick,etc) # easy way to figure out what the button number on your combined (or separated) joycons is to go to https://gamepad-tester.com/ # the numbers (B0, B1, etc) correspond to 1, 2, etc # so button # is equal to the number on the website + 1 # (south, east, west, north) == (left click, right click, paste) Option "MapButton3" "button=1" Option "MapButton4" "button=3" Option "MapButton7" "button=2" Option "MapButton6" "key=66" # (-,+) == (backspace, enter) Option "MapButton1" "key=22" Option "MapButton14" "key=36" # (L, R, ZL, ZR) == volume down/up, brightness down/up Option "MapButton9" "key=122" Option "MapButton10" "key=123" Option "MapAxis6" "mode=accelerated keyhigh=232" Option "MapAxis5" "mode=accelerated keyhigh=233" # xbox button as disable Option "MapButton15" "disable-all" # right stick button Option "MapButton17" "key=71" # left stick button Option "MapButton16" "key=9" # dpad (up, down, left, right) Option "MapAxis7" "mode=accelerated keylow=113 keyhigh=114" Option "MapAxis8" "mode=accelerated keylow=111 keyhigh=116" # right stick scroll Option "MapAxis3" "mode=relative axis=+1zx deadzone=5000" Option "MapAxis4" "mode=relative axis=+1zy deadzone=5000" EndSection Section "InputClass" Identifier "joystick catchall" MatchProduct "Generic X-Box pad" MatchIsJoystick "on" # Allow all joysticks connected to function MatchDevicePath "/dev/input/event*" Driver "joystick" # do (xmodmap -pke) in terminal to get all potential key=mappings # button=mappings correspong to mouse buttons (leftclick, rightclick,etc) # easy way to figure out what the button number on your combined (or separated) joycons is to go to https://gamepad-tester.com/ # the numbers (B0, B1, etc) correspond to 1, 2, etc # so button # is equal to the number on the website + 1 # (south, east, west, north) == (left click, right click, middle click, paste) Option "MapButton1" "button=1" Option "MapButton2" "button=3" Option "MapButton4" "button=2" Option "MapButton3" "key=66" # (-,+) == (backspace, enter) Option "MapButton7" "key=22" Option "MapButton8" "key=36" # (L, R, ZL, ZR) == volume down/up, brightness down/up Option "MapButton5" "key=122" Option "MapButton6" "key=123" Option "MapAxis3" "mode=accelerated keyhigh=232" Option "MapAxis6" "mode=accelerated keyhigh=233" # xbox button as disable Option "MapButton9" "disable-all" # right stick button Option "MapButton11" "key=71" # left stick button Option "MapButton10" "key=9" # dpad (up, down, left, right) Option "MapAxis7" "mode=accelerated keylow=113 keyhigh=114" Option "MapAxis8" "mode=accelerated keylow=111 keyhigh=116" # right stick scroll Option "MapAxis4" "mode=relative axis=+1zx deadzone=5000" Option "MapAxis5" "mode=relative axis=+1zy deadzone=5000" EndSection Section "InputClass" Identifier "joystick catchall" MatchProduct "Sony Interactive Entertainment Wireless Controller" MatchIsJoystick "on" # Allow all joysticks connected to function MatchDevicePath "/dev/input/event*" Driver "joystick" # do (xmodmap -pke) in terminal to get all potential key=mappings # button=mappings correspong to mouse buttons (leftclick, rightclick,etc) # easy way to figure out what the button number on your combined (or separated) joycons is to go to https://gamepad-tester.com/ # the numbers (B0, B1, etc) correspond to 1, 2, etc # so button # is equal to the number on the website + 1 # (south, east, west, north) == (left click, right click, middle click, paste) Option "MapButton2" "button=1" Option "MapButton3" "button=3" Option "MapButton4" "button=2" Option "MapButton1" "key=66" # (-,+) == (backspace, enter) Option "MapButton9" "key=22" Option "MapButton10" "key=36" # (L, R, ZL, ZR) == volume down/up, brightness down/up Option "MapButton5" "key=122" Option "MapButton6" "key=123" Option "MapAxis4" "mode=accelerated keyhigh=232" Option "MapAxis5" "mode=accelerated keyhigh=233" # sony home button as disable Option "MapButton13" "disable-all" # right stick button Option "MapButton11" "key=71" # left stick button Option "MapButton12" "key=9" # dpad (up, down, left, right) Option "MapAxis7" "mode=accelerated keylow=113 keyhigh=114" Option "MapAxis8" "mode=accelerated keylow=111 keyhigh=116" # right stick scroll Option "MapAxis3" "mode=relative axis=+1zx deadzone=5000" Option "MapAxis6" "mode=relative axis=+1zy deadzone=5000" EndSection Section "InputClass" Identifier "joystick catchall" MatchProduct "Wii U GameCube Adapter" MatchIsJoystick "on" # Allow all joysticks connected to function MatchDevicePath "/dev/input/event*" Driver "joystick" # download, compile, and run the input program by toadking to use gamecube controllers # https://github.com/ToadKing/wii-u-gc-adapter # do (xmodmap -pke) in terminal to get all potential key=mappings # button=mappings correspong to mouse buttons (leftclick, rightclick,etc) # easy way to figure out what the button number on your combined (or separated) joycons is to go to https://gamepad-tester.com/ # the numbers (B0, B1, etc) correspond to 1, 2, etc # so button # is equal to the number on the website + 1 # (A, B, X, Y) == (left click, right click, middle click, paste) Option "MapButton1" "button=1" Option "MapButton4" "button=3" Option "MapButton2" "button=2" Option "MapButton3" "key=66" # (L, R, ZL, ZR) == brightness down/up Option "MapButton5" "key=232" Option "MapButton6" "key=233" # start button as disable Option "MapButton8" "disable-all" # dpad (up, down, left, right) Option "MapButton9" "key=111" Option "MapButton10" "key=116" Option "MapButton11" "key=113" Option "MapButton12" "key=114" # right stick scroll Option "MapAxis4" "mode=relative axis=+1zx deadzone=5000" Option "MapAxis5" "mode=relative axis=+1zy deadzone=5000" # Left and Right Analog Triggers, mapped to nothing Option "MapAxis6" "mode=none" Option "MapAxis3" "mode=none" EndSection