From df467e8764969cfc76f0e54482077714d179053d Mon Sep 17 00:00:00 2001 From: Alula <6276139+alula@users.noreply.github.com> Date: Sat, 19 Nov 2022 18:27:28 +0100 Subject: [PATCH] gitignore moment --- .gitignore | 2 +- src/data/builtin/builtin_data/buttons.png | Bin 0 -> 282973 bytes .../builtin_data/headband/ogph/Casts.png | Bin 0 -> 447 bytes .../headband/ogph/Npc/NpcGuest.png | Bin 0 -> 456 bytes .../headband/ogph/Npc/NpcMiza.png | Bin 0 -> 562 bytes .../headband/ogph/Npc/NpcRegu.png | Bin 0 -> 621 bytes .../builtin_data/headband/plus/casts.png | Bin 0 -> 1621 bytes .../headband/plus/npc/npcguest.png | Bin 0 -> 1490 bytes .../headband/plus/npc/npcmiza.png | Bin 0 -> 4152 bytes .../headband/plus/npc/npcregu.png | Bin 0 -> 3952 bytes src/data/builtin/builtin_data/locale/en.json | 178 ++ src/data/builtin/builtin_data/locale/jp.json | 178 ++ src/data/builtin/builtin_data/triangles.png | Bin 0 -> 130 bytes src/data/builtin/builtin_font.bmfc | 276 +++ src/data/builtin/builtin_font.fnt | Bin 0 -> 92105 bytes src/data/builtin/builtin_font_0.png | Bin 0 -> 31135 bytes src/data/builtin/builtin_font_1.png | Bin 0 -> 31216 bytes src/data/builtin/gamecontrollerdb.txt | 1741 +++++++++++++++++ src/data/builtin/lightmap/spot.png | Bin 0 -> 3147 bytes .../builtin/organya-wavetable-doukutsu.bin | Bin 0 -> 66152 bytes src/data/builtin/organya-wavetable-org.bin | Bin 0 -> 87772 bytes src/data/builtin/touch.png | Bin 0 -> 16222 bytes src/data/builtin_fs.rs | 321 +++ src/data/exe_parser.rs | 127 ++ src/data/mod.rs | 3 + src/data/vanilla.rs | 207 ++ 26 files changed, 3032 insertions(+), 1 deletion(-) create mode 100644 src/data/builtin/builtin_data/buttons.png create mode 100644 src/data/builtin/builtin_data/headband/ogph/Casts.png create mode 100644 src/data/builtin/builtin_data/headband/ogph/Npc/NpcGuest.png create mode 100644 src/data/builtin/builtin_data/headband/ogph/Npc/NpcMiza.png create mode 100644 src/data/builtin/builtin_data/headband/ogph/Npc/NpcRegu.png create mode 100644 src/data/builtin/builtin_data/headband/plus/casts.png create mode 100644 src/data/builtin/builtin_data/headband/plus/npc/npcguest.png create mode 100644 src/data/builtin/builtin_data/headband/plus/npc/npcmiza.png create mode 100644 src/data/builtin/builtin_data/headband/plus/npc/npcregu.png create mode 100644 src/data/builtin/builtin_data/locale/en.json create mode 100644 src/data/builtin/builtin_data/locale/jp.json create mode 100644 src/data/builtin/builtin_data/triangles.png create mode 100644 src/data/builtin/builtin_font.bmfc create mode 100644 src/data/builtin/builtin_font.fnt create mode 100644 src/data/builtin/builtin_font_0.png create mode 100644 src/data/builtin/builtin_font_1.png create mode 100644 src/data/builtin/gamecontrollerdb.txt create mode 100644 src/data/builtin/lightmap/spot.png create mode 100644 src/data/builtin/organya-wavetable-doukutsu.bin create mode 100644 src/data/builtin/organya-wavetable-org.bin create mode 100644 src/data/builtin/touch.png create mode 100644 src/data/builtin_fs.rs create mode 100644 src/data/exe_parser.rs create mode 100644 src/data/mod.rs create mode 100644 src/data/vanilla.rs diff --git a/.gitignore b/.gitignore index 08662c2..ae1d0f7 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,7 @@ .vscode/ # Cave Story (copyrighted) data files -data/ +/data/ # Generated by Cargo # will have compiled files and executables diff --git a/src/data/builtin/builtin_data/buttons.png b/src/data/builtin/builtin_data/buttons.png new file mode 100644 index 0000000000000000000000000000000000000000..58a2ec887532d3aae27295d1c6960a2613b40610 GIT binary patch literal 282973 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 PBgg_zS3j3^P6=P#5V-D6X)`)qOa?f=)`|M!1o zHv4i{^j+@7)phUuzD)i6IOTg*yhZWu=;C83`=0R`{|!IC-HI8X=PmaCx&GURIp^V~ va>j_746y^kwa3oKWwwpW$l29*_!8S3j3^P6w%mbPyaoi%WLd3!87UBvb#&X zlG^`N8hT~qOk)L_L=;#s`S#zVv#g!>Q+_REA{)X zdlekWVYP^#EG(QbfuWg2Lgj#hzhU4@{!3f4mu~-~fBk0btd}Nj6JwUooFFsLMvrgx zli2<8MvQD%_r@|Y95B7ASM94%-u)n1|LL6DQdd^5+aViRWtfn1^GnQu^zawn!o^b- ze|mk+TAAaWz?~N>mVY_h=v>a8SNgrtZeLV%L)I1jsCp48(J z;L+g7#3KZ9kj?QUDs~?A?q|1rToHDj;j_0Hr50ZQEsE%P@yM B<9Yx9 literal 0 HcmV?d00001 diff --git a/src/data/builtin/builtin_data/headband/ogph/Npc/NpcRegu.png b/src/data/builtin/builtin_data/headband/ogph/Npc/NpcRegu.png new file mode 100644 index 0000000000000000000000000000000000000000..c1e9d36e0bd5ed25d6b795f3ed0f1fea9cf74e79 GIT binary patch literal 621 zcmeAS@N?(olHy`uVBq!ia0y~yU~~YoKX9-C$wJ+|*+7c1ILO_JVcj{ImkbO{>Ygr+ zAr*7p-f_%2Y#_iIuyXs$-piA}TAW(eDAu(hCsNtMA52HPO5t*>`KZ|rqt3GiIGWlz<4=HDmRo3C9sq5kZ*8U5RS{bU4Mh6EaByM`Ar zN_X=q%x!R(aglKezkr0V{Dc0h=lPLTftUfJp~p*~?z0lPdDi_4n9abNJEmGw-(V-s)rg!30>J)LfHKr!9fTV6r% z&*}!f5(Xxqo&%O)jt#kytc|}bw9F;%Hh|0-Hb6(&U7jH#{-@8{Q`mHz+$ literal 0 HcmV?d00001 diff --git a/src/data/builtin/builtin_data/headband/plus/casts.png b/src/data/builtin/builtin_data/headband/plus/casts.png new file mode 100644 index 0000000000000000000000000000000000000000..bd408c79910c1fcd536c6697eacb1d27c3e7c7a5 GIT binary patch literal 1621 zcmeAS@N?(olHy`uVBq!ia0y~yU}|7sV0^&A1{5*9c;^X_Vk{1FcVbv~PUa<$!;&U>cv7h@-A}f&3S>O>_%)r1c48n{Iv*t)JFtEPzba4!+h@XYB&j0~?{+@HhXwov-p?wdk8 z?(AE3*DD&br7;W(V)HI}IlJJ_q6?l{WiDkT roJDmXE8lk*&7zpWPA`!Kj$Myr1H{*AKDhi#5oD>StDnm{r-UW|og2g* literal 0 HcmV?d00001 diff --git a/src/data/builtin/builtin_data/headband/plus/npc/npcguest.png b/src/data/builtin/builtin_data/headband/plus/npc/npcguest.png new file mode 100644 index 0000000000000000000000000000000000000000..54d3a1e6aeec3a72786a9ed658d3bb1d8d565779 GIT binary patch literal 1490 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 literal 0 HcmV?d00001 diff --git a/src/data/builtin/builtin_data/headband/plus/npc/npcregu.png b/src/data/builtin/builtin_data/headband/plus/npc/npcregu.png new file mode 100644 index 0000000000000000000000000000000000000000..6897b3cdf7ef885782f7c36da79c3daaf010f5fb GIT binary patch literal 3952 zcmeH}Sx}Q%7RPS_vdAK$vMGz&3?pIyK@iylu|Yr(Xcj>rh=?Y#3=sk-CW@fl8N^nW zR-m!lW-}W>lc+I(MjB-cDj^bxz(m$S0%dUtGiX*@0{N`|5NA3 z6Mmi=8x1xB05pzyc?1Fg#R8yUtD+=7**kc5Rz5*cfu8Pw)UjhszEO;KJMIPmC0}hN zW`lgMn(TEF1%M`N?SnKYRi6Q1(}rUnZa<_)P4X#;eQykv;XRR9Tkh-QU8k^H>vxIx z&4sw9ZQJ{f^a)QLvL~$oQJK3r?BKQlgQ|d7lgOS|J@n)VQantVj1Q=7I41T>e5~m43areb}A*+?!{=6#b6aQQimHNkU7+;vV z;99wW1mL4#JW$rIjxwx2ms`uOif(yd5z?DlQ+WSgASOaf$ae*`n(UU#y9Wm*r>piR z{5+7nIK5gp9}?lCv4i-WJ2%nL-745pq)pn7xf#BDW;Pm0r!mkn%4FD365Wtx-8&8i z612668TL#R>s2M?oQ5Sko4ZcXF`i>3Gro<_P16}Yu}OiAv(%vnsiz?M@=gaUq>mpM_xquziJ^jW=YMISL5Wh_CL&;fv9besvv%_PlwvDpe-Frba{Wu=)n%J-~p zVnsVqM*w*Gw?Vvx=m+n_%Cio$CgbUJ=V%Ru8Hr@b@V5sT@UR?g2_2fH^7 zHZO!4aS^z#vcSilvZeCtRVz%TN2WY?^lUlcTaZ`happZ-Bz_jQj^>4l6G=Ccv`YuVT#AT z*1q{l?w`xVqE3v|WrRYe(i4<{Rrxzex*j;KyVImnbA`F=4<5Ny*iOpB7pvzUTijf~ zP!9pSwZVSV>xGqNk07zWVktL~B)B{B*o9u93c`MJU~#uHCGjo?6pMoYB5eTXg%h7g zUsyz)qqbMbDYXeQ?kQNgYbjxK(!I04+$biO^kyv&^Yhk{6LE{fB%x(KW&rA+XM^oL z3FY8fy6sx?OS3*FpLZb`FlwMp(0G#CX{IFl4rOv>S>PWx7KkUB9x!f|DhQ_uZ84Pn z>GjUiivsF>_&>fTz2WVM)PwoFz2^6u2d8w<=GiF- zc5wO9cN2w8YDAi84VhlI5zL-G5k*U4``dJ7UFt}DLg$5lDb43>2-{-p32=Ae()O4A zvN`ce^+<~+Lp3>wNAg+38#fj4>Wh^LMfR@nfD}9Nlt40~dI7V%Dz%WRo>9Yl(Rz0ZU13J`UrkID~C@GbDf#4vw!>WRyjR>r!yvF@z@5;^L} zI)7FF9_fT9G^pD~URWP?8#$)QU#SowgXxb6cGRf&*aYhQoq7E*vn2P6v9-)de*TUU zJtMNjt4tuf?7S#6mRXHGofTpFyA3X1otswjuvhAxtmEI~u70!?btW{+CFD%pw+Iyq z@@|UMX$h)cs2uX1%!P*ISI$iH7hF&EkV1O12o8(T#;7w^Z3S9k_tPF}4m<5bNx!6Z zaCd{Lyq87hnj|V3*e~fpN6jG#ixgQwe$o=^9 z`5G0Ftc&_o0|iFoa^cGhZ9#O6-)aRyShqX2c-OQr6wJ5lAAWii8vZH*=39E+8;;kt zF+xx)LJ-gW41whH_+m2d`r}MTiowUadYof$S9oHuQlpFh1^DkVi?~R|!*p{65LR7U z)@nN>=$A}wwgQc>+VrL0{=dFhC$LW7e-OYj9UL7FS>klV6HplwtFD&vu2mOeEWA*7qVt_0d?QqWE6LrA6dMD$7y)?H z(k1W7-f=P$1F&Wlxew}|qu1`%$2x&^0{=Gz9^_|d%OJS?+S<3D4@It-b?m602gx0N F?cZKH9}xfm literal 0 HcmV?d00001 diff --git a/src/data/builtin/builtin_data/locale/en.json b/src/data/builtin/builtin_data/locale/en.json new file mode 100644 index 0000000..5c58ed0 --- /dev/null +++ b/src/data/builtin/builtin_data/locale/en.json @@ -0,0 +1,178 @@ +{ + "name": "English", + "font": "csfont.fnt", + "font_scale": "0.5", + "common": { + "name": "doukutsu-rs", + "back": "< Back", + "yes": "Yes", + "no": "No", + "on": "ON", + "off": "OFF" + }, + "menus": { + "main_menu": { + "start": "Start Game", + "challenges": "Challenges", + "options": "Options", + "editor": "Editor", + "jukebox": "Jukebox", + "quit": "Quit" + }, + "pause_menu": { + "resume": "Resume", + "retry": "Retry", + "options": "Options", + "title": "Title", + "title_confirm": "Title?", + "quit": "Quit", + "quit_confirm": "Quit?", + "add_player2": "Add Player 2", + "drop_player2": "Drop Player 2" + }, + "save_menu": { + "new": "New Save", + "delete_info": "Press Right to Delete", + "delete_confirm": "Delete?", + "invalid_save": "Invalid Save" + }, + "difficulty_menu": { + "title": "Select Difficulty", + "easy": "Easy", + "normal": "Normal", + "hard": "Hard" + }, + "coop_menu": { + "title": "Select Number of Players", + "one": "Single Player", + "two": "Two Players" + }, + "skin_menu": { + "title": "Select Player 2's appearance", + "label": "Appearance:" + }, + "challenge_menu": { + "start": "Start", + "no_replay": "No Replay", + "replay_best": "Replay Best", + "replay_last": "Replay Last", + "delete_replay": "Delete Best Replay" + }, + "options_menu": { + "graphics": "Graphics...", + "graphics_menu": { + "window_mode": { + "entry": "Display mode:", + "windowed": "Windowed", + "fullscreen": "Fullscreen" + }, + "lighting_effects": "Lighting effects:", + "weapon_light_cone": "Weapon light cone:", + "screen_shake": { + "entry": "Screen shake intensity:", + "full": "1x", + "half": "0.5x", + "off": "Off" + }, + "motion_interpolation": "Motion interpolation:", + "subpixel_scrolling": "Subpixel scrolling:", + "original_textures": "Original textures:", + "seasonal_textures": "Seasonal textures:", + "renderer": "Renderer:", + "vsync_mode": { + "entry": "V-Sync:", + "uncapped": "Uncapped", + "uncapped_desc": "V-Sync Off.", + "vsync": "Enabled", + "vsync_desc": "V-Sync On.", + "vrr_1x": "Variable Refresh Rate (1x)", + "vrr_1x_desc": "Uses (G-/Free)Sync if available.", + "vrr_2x": "Variable Refresh Rate (2x)", + "vrr_2x_desc": "Uses (G-/Free)Sync if available.", + "vrr_3x": "Variable Refresh Rate (3x)", + "vrr_3x_desc": "Uses (G-/Free)Sync if available." + } + }, + "sound": "Sound...", + "sound_menu": { + "music_volume": "Music Volume", + "effects_volume": "Effects Volume", + "bgm_interpolation": { + "entry": "BGM Interpolation:", + "linear": "Linear", + "linear_desc": "Fast, similar to freeware on Vista+", + "cosine": "Cosine", + "cosine_desc": "Cosine interpolation", + "cubic": "Cubic", + "cubic_desc": "Cubic interpolation", + "linear_lp": "Linear+LP", + "linear_lp_desc": "Slowest, similar to freeware on XP", + "nearest": "Nearest", + "nearest_desc": "Fastest, lowest quality" + }, + "soundtrack": "Soundtrack: {soundtrack}" + }, + "controls": "Controls...", + "language": "Language...", + "behavior": "Behavior...", + "behavior_menu": { + "game_timing": { + "entry": "Game timing:", + "50tps": "50tps (freeware)", + "60tps": "60tps (CS+)" + }, + "pause_on_focus_loss": "Pause on focus loss:", + "cutscene_skip_method": { + "entry": "Cutscene Skip:", + "hold": "Hold to Skip", + "fastforward": "Fast-Forward" + } + }, + "links": "Links..." + }, + "controls_menu": { + "select_player": { + "entry": "Select player:", + "player_1": "Player 1", + "player_2": "Player 2" + }, + "controller": { + "entry": "Controller...", + "keyboard": "Keyboard" + }, + "rebind": "Rebind...", + "rebind_menu": { + "up": "Up", + "down": "Down", + "left": "Left", + "right": "Right", + "jump": "Jump", + "shoot": "Shoot", + "prev_weapon": "Previous weapon", + "next_weapon": "Next weapon", + "inventory": "Inventory", + "map": "Map system", + "skip": "Skip", + "strafe": "Strafe", + "menu_ok": "Menu select/confirm", + "menu_back": "Menu back/cancel" + }, + "rebind_confirm_menu": { + "title": "Press button for \"{control}\"", + "cancel": "(Esc to cancel)" + }, + "rumble": "Rumble:", + "reset_confirm": "Reset...", + "reset_confirm_menu_title": "Reset controls?" + } + }, + "soundtrack": { + "organya": "Organya", + "remastered": "Remastered", + "new": "New", + "famitracks": "Famitracks" + }, + "game": { + "cutscene_skip": "Hold {key} to skip the cutscene" + } +} diff --git a/src/data/builtin/builtin_data/locale/jp.json b/src/data/builtin/builtin_data/locale/jp.json new file mode 100644 index 0000000..a10b8ab --- /dev/null +++ b/src/data/builtin/builtin_data/locale/jp.json @@ -0,0 +1,178 @@ +{ + "name": "Japanese", + "font": "csfontjp.fnt", + "font_scale": "0.5", + "common": { + "name": "doukutsu-rs", + "back": "< 戻る", + "yes": "はい", + "no": "いいえ", + "on": "オン", + "off": "オフ" + }, + "menus": { + "main_menu": { + "start": "ゲームスタート", + "challenges": "チャレンジ", + "options": "オプション", + "editor": "レベルエディタ", + "jukebox": "ジュークボックス", + "quit": "辞める" + }, + "pause_menu": { + "resume": "再開", + "retry": "リトライ", + "options": "設定", + "title": "メインメニュー", + "title_confirm": "メインメニュー?", + "quit": "辞める", + "quit_confirm": "辞める?", + "add_player2": "プレーヤー2を追加", + "drop_player2": "プレーヤー2を削除" + }, + "save_menu": { + "new": "新しいデータ", + "delete_info": "右矢印キーで削除", + "delete_confirm": "消去?", + "invalid_save": "無効な保存" + }, + "difficulty_menu": { + "title": "難易度選択", + "easy": "簡単", + "normal": "普通", + "hard": "難しい" + }, + "coop_menu": { + "title": "プレイヤー数を選択", + "one": "1人プレイ", + "two": "2人プレイ" + }, + "skin_menu": { + "title": "プレーヤー2の外観を選択します", + "label": "外観:" + }, + "challenge_menu": { + "start": "スタート", + "no_replay": "ノーリプレイ", + "replay_best": "ベストプレイを再生", + "replay_last": "最後のプレイを再生", + "delete_replay": "ベストリプレイを削除" + }, + "options_menu": { + "graphics": "グラフィック", + "graphics_menu": { + "window_mode": { + "entry": "画面表示:", + "windowed": "ウィンドウ", + "fullscreen": "フルスクリーン" + }, + "lighting_effects": "ライティング効果:", + "weapon_light_cone": "兵器のライトコーン:", + "screen_shake": { + "entry": "画面の揺れ:", + "full": "1x", + "half": "0.5x", + "off": "オフ" + }, + "motion_interpolation": "モーション補間:", + "subpixel_scrolling": "サブピクセルスクロール:", + "original_textures": "オリジナルテクスチャ:", + "seasonal_textures": "季節ものテクスチャ:", + "renderer": "レンダラ:", + "vsync_mode": { + "entry": "V-Sync:", + "uncapped": "Uncapped", + "uncapped_desc": "V-Sync Off.", + "vsync": "Enabled", + "vsync_desc": "V-Sync On.", + "vrr_1x": "Variable Refresh Rate (1x)", + "vrr_1x_desc": "Uses (G-/Free)Sync if available.", + "vrr_2x": "Variable Refresh Rate (2x)", + "vrr_2x_desc": "Uses (G-/Free)Sync if available.", + "vrr_3x": "Variable Refresh Rate (3x)", + "vrr_3x_desc": "Uses (G-/Free)Sync if available." + } + }, + "sound": "サウンド", + "sound_menu": { + "music_volume": "BGM音量", + "effects_volume": "サウンド音量", + "bgm_interpolation": { + "entry": "BGM内挿:", + "linear": "線形補間", + "linear_desc": "速い、フリーウェア版に近い(Vista+)", + "cosine": "余弦", + "cosine_desc": "余弦補間", + "cubic": "立方体", + "cubic_desc": "立方体補間", + "linear_lp": "線形補間+LP", + "linear_lp_desc": "最も遅い、フリーウェア版に近い(XP)", + "nearest": "最近傍", + "nearest_desc": "最速、最低品質" + }, + "soundtrack": "サウンドトラック: {soundtrack}" + }, + "controls": "ボタン変更", + "language": "言語", + "behavior": "動作", + "behavior_menu": { + "game_timing": { + "entry": "ゲームのタイミング:", + "50tps": "50tps (freeware)", + "60tps": "60tps (CS+)" + }, + "pause_on_focus_loss": "フォーカスが外れた時のポーズ:", + "cutscene_skip_method": { + "entry": "カットシーンをスキップ", + "hold": "を押し続け", + "fastforward": "はやおくり" + } + }, + "links": "リンク" + }, + "controls_menu": { + "select_player": { + "entry": "プレイヤーを選択:", + "player_1": "プレーヤー 1", + "player_2": "プレーヤー 2" + }, + "controller": { + "entry": "コントローラ", + "keyboard": "キーボード" + }, + "rebind": "再バインド", + "rebind_menu": { + "up": "うえ", + "down": "した", + "left": "ひだり", + "right": "みぎ", + "jump": "ジャンプ", + "shoot": "ショット", + "prev_weapon": "前の武器", + "next_weapon": "次の武器", + "inventory": "在庫", + "map": "マップシステム", + "skip": "スキップ", + "strafe": "ストレイフ", + "menu_ok": "メニュー選択/OK", + "menu_back": "メニュー残す/キャンセル" + }, + "rebind_confirm_menu": { + "title": "新しい「ジャンプ」ボタンを押す", + "cancel": "(Escキーを押してキャンセル)" + }, + "rumble": "ランブル", + "reset_confirm": "リセット", + "reset_confirm_menu_title": "ボタンをリセットしますか?" + } + }, + "soundtrack": { + "organya": "オルガーニャ", + "remastered": "リマスター", + "new": "新", + "famitracks": "ファミトラック" + }, + "game": { + "cutscene_skip": "{key} を押し続け、カットシーンをスキップ" + } +} diff --git a/src/data/builtin/builtin_data/triangles.png b/src/data/builtin/builtin_data/triangles.png new file mode 100644 index 0000000000000000000000000000000000000000..6130b54877aec5c8dd0453e5af7f9a19cf10bea9 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^B0$W_!3HEylDNj!q#}J9BQ~NJ+F(_~_Z-4Q> zzA{l{MZ`t9=am|&50%+IH*~A~ZYuf~q-s%WyjG$rvO(K%-s}tBo7Tj5xwkaGd8%GA e@uwey0mJW00s={vCMrNf89ZJ6T-G@yGywoO*(wbH literal 0 HcmV?d00001 diff --git a/src/data/builtin/builtin_font.bmfc b/src/data/builtin/builtin_font.bmfc new file mode 100644 index 0000000..b348b50 --- /dev/null +++ b/src/data/builtin/builtin_font.bmfc @@ -0,0 +1,276 @@ +# AngelCode Bitmap Font Generator configuration file +fileVersion=1 + +# font settings +fontName=JF Dot k12x10 +fontFile=JF-Dot-k12x10.ttf +charSet=0 +fontSize=10 +aa=1 +scaleH=100 +useSmoothing=0 +isBold=0 +isItalic=0 +useUnicode=1 +disableBoxChars=1 +outputInvalidCharGlyph=1 +dontIncludeKerningPairs=0 +useHinting=1 +renderFromOutline=0 +useClearType=1 +autoFitNumPages=0 +autoFitFontSizeMin=0 +autoFitFontSizeMax=0 + +# character alignment +paddingDown=0 +paddingUp=0 +paddingRight=0 +paddingLeft=0 +spacingHoriz=1 +spacingVert=1 +useFixedHeight=0 +forceZero=0 +widthPaddingFactor=0.00 + +# output file +outWidth=512 +outHeight=512 +outBitDepth=8 +fontDescFormat=2 +fourChnlPacked=0 +textureFormat=png +textureCompression=0 +alphaChnl=0 +redChnl=4 +greenChnl=4 +blueChnl=4 +invA=0 +invR=0 +invG=0 +invB=0 + +# outline +outlineThickness=0 + +# selected chars +chars=32-126,160,167-168,176-177,180,182,215,247,913-929,931-937,945-961,963-969,1025,1040-1103,1105,8208 +chars=8213,8216-8217,8229-8230,8251,8451,8470,8481,8491,8544-8553,8592-8595,8658,8660,8722,8730,8733-8734 +chars=9312-9331,9472-9475,9484,9487-9488,9491-9492,9495-9496,9499-9501,9504,9507-9509,9512,9515-9516,9519 +chars=9520,9523-9524,9527-9528,9531-9532,9535,9538,9547,9632-9633,9650-9651,9660-9661,9670-9671,9675,9678 +chars=9679,9711,9733-9734,9792,9794,9834,9837,9839,12288-12291,12293-12309,12316-12317,12319,12353-12435 +chars=12443-12446,12449-12534,12539-12542,12849-12850,12857,12964-12968,13059,13069,13076,13080,13090 +chars=13091,13094-13095,13099,13110,13115,13129-13130,13133,13137,13143,13179-13182,13198-13199,13212 +chars=13213-13214,13217,13252,13261,19968-19969,19971,19975-19979,19981-19982,19984-19985,19988-19993 +chars=19998,20001,20006,20010,20013,20017-20018,20022,20024-20025,20027-20028,20031,20034-20035,20037 +chars=20043,20045-20047,20053-20057,20061-20063,20066,20081,20083,20094,20096,20098,20101-20102,20104 +chars=20105-20108,20110,20113-20114,20116-20117,20120-20121,20123-20124,20126-20130,20132-20134,20136 +chars=20139-20142,20144,20147,20150,20154,20160-20162,20164,20166-20167,20170-20171,20173-20175,20180 +chars=20181-20185,20189-20191,20195-20197,20205-20206,20208,20210,20214-20215,20219,20225,20233-20234 +chars=20237-20241,20250,20252-20253,20271-20272,20276,20278,20280,20282,20284-20285,20291,20294-20295 +chars=20301-20305,20307,20309,20311,20313-20318,20329,20335-20336,20339,20341-20342,20347-20348,20351 +chars=20355,20358,20360,20363,20365,20367,20369,20374,20376,20379,20381,20384-20385,20395,20397-20399 +chars=20405-20406,20415,20418-20420,20426,20430,20432-20433,20436,20439-20440,20442-20443,20445,20447 +chars=20449,20451-20453,20462-20463,20467,20469-20470,20472,20474,20478,20485-20486,20489,20491,20493 +chars=20495,20497-20498,20500,20502,20505-20506,20511,20513,20515-20518,20520-20525,20534,20537,20547 +chars=20551-20553,20559-20560,20565-20566,20570,20572,20581,20588,20594,20596-20598,20600,20605,20608 +chars=20613,20621,20625,20632-20634,20652-20653,20658-20661,20663,20670,20674,20677,20681-20682,20685 +chars=20687,20689,20693-20694,20698,20702,20707,20709,20711,20717-20718,20725,20729,20731,20736-20738 +chars=20740,20745,20754,20756-20758,20760,20762,20767,20769,20778,20786,20791,20794-20796,20799-20801 +chars=20803-20809,20811-20814,20816,20818,20820,20826,20828,20834,20837,20840-20846,20849,20853-20856 +chars=20860,20864,20866,20869-20870,20873-20874,20876-20877,20879-20883,20885-20887,20889,20896,20898 +chars=20900-20902,20904-20908,20912-20919,20925,20932-20934,20937,20939-20941,20950,20955-20957,20960 +chars=20961,20966-20967,20969-20970,20973,20976-20977,20981-20982,20984-20986,20989-20990,20992,20995 +chars=20996,20998-21000,21002-21003,21006,21009,21012,21015,21021,21028-21029,21031,21033-21034,21038 +chars=21040,21043,21046-21051,21059-21060,21063,21066-21069,21071,21076,21078,21083,21086,21091-21093 +chars=21097-21098,21103-21109,21117,21119,21123,21127-21129,21133,21137-21138,21140,21147,21151-21152 +chars=21155,21161-21165,21169,21172-21173,21177,21180,21182,21185,21187,21189,21191,21193,21197,21202 +chars=21205,21207-21209,21213-21216,21218-21220,21222-21223,21234-21235,21237,21240-21242,21246-21247 +chars=21249-21250,21253-21254,21256,21261,21263-21264,21269-21271,21273-21274,21277,21280-21281,21283 +chars=21290,21295,21297,21299,21304-21307,21311-21313,21315,21317-21322,21325,21329-21332,21335-21336 +chars=21338,21340,21342,21344,21350,21353,21358-21361,21363-21365,21367-21368,21371,21375,21378,21380 +chars=21398,21400,21402,21407-21408,21413-21414,21416-21417,21421-21422,21424,21427,21430,21435,21442 +chars=21443,21448-21454,21460,21462-21463,21465,21467,21471,21473-21477,21480-21491,21494-21496,21498 +chars=21505,21507-21508,21512-21521,21531,21533,21535-21536,21542,21545,21547-21550,21558,21560-21561 +chars=21563-21566,21568,21570,21574,21576-21578,21582,21585,21599,21608,21610,21616-21617,21619,21621 +chars=21622-21623,21627-21629,21632,21636,21638,21643-21644,21646-21648,21650,21666,21668-21669,21672 +chars=21675-21676,21679,21682-21683,21688,21692-21694,21696-21698,21700,21703-21705,21720,21729-21730 +chars=21733-21734,21736-21737,21741-21742,21746,21754,21757,21764,21766-21767,21775-21776,21780,21782 +chars=21806-21807,21809,21811,21816-21817,21822,21824,21828-21830,21836,21839,21843,21846-21847,21852 +chars=21853,21859,21883-21884,21886,21888,21891-21892,21895,21897-21899,21912-21914,21916-21919,21927 +chars=21928-21932,21934,21936,21942,21956-21957,21959,21972,21978,21980,21983,21987-21988,22007,22009 +chars=22013-22014,22022,22025,22036,22038-22040,22043,22057,22063,22065-22066,22068,22070,22072,22082 +chars=22092,22094,22096,22107,22116,22120,22122-22124,22132,22136,22138,22144,22150-22151,22154,22159 +chars=22164,22176,22178,22181,22190,22196,22198,22204,22208-22211,22216,22222,22225,22227,22231-22232 +chars=22234-22235,22238,22240,22243,22254,22256,22258-22259,22265-22266,22269,22271-22272,22275-22276 +chars=22280-22281,22283,22285,22287,22290-22291,22294,22296,22300,22303,22310-22312,22317,22320,22327 +chars=22328,22331,22336,22338,22343,22346,22350-22353,22369,22372,22374,22377-22378,22399,22402,22408 +chars=22409,22411,22419,22432,22434-22436,22442,22448,22451,22464,22467,22470,22475,22478,22482-22484 +chars=22486,22492,22495-22496,22499,22516,22519,22521-22522,22524,22528,22530,22533-22534,22538-22539 +chars=22549,22553,22557,22561,22564,22570,22575-22577,22580-22581,22586,22589,22592-22593,22602-22603 +chars=22609-22610,22612,22615-22618,22622,22626,22633,22635,22640,22642,22645,22649,22654,22659,22661 +chars=22675,22679,22684,22687,22696,22699,22702,22707,22712-22715,22718,22721,22725,22727,22730,22732 +chars=22737,22739,22741,22743-22745,22748,22750-22751,22756-22757,22763-22764,22766-22770,22775,22777 +chars=22778-22781,22786,22793-22794,22799-22800,22805-22806,22808-22812,22818,22821,22823,22825-22830 +chars=22833-22834,22839-22840,22846,22852,22855-22857,22862-22865,22868-22869,22871-22872,22874,22880 +chars=22882,22885,22887-22890,22892,22894,22899-22900,22904,22909,22913-22916,22922,22925,22931,22934 +chars=22937,22939,22941,22947,22949,22952,22956,22962,22969,22971,22974,22982,22985,22987,22992-22993 +chars=22995-22996,23001-23002,23004,23013-23014,23016,23018-23019,23030,23035,23039,23041,23043,23049 +chars=23057,23064,23066,23068,23071-23072,23077,23081,23087,23093-23094,23100,23104-23105,23110,23113 +chars=23130,23138,23142,23146,23148,23167,23186,23194-23195,23228-23230,23233-23234,23241,23243-23244 +chars=23248,23254-23255,23265,23267,23270,23273,23290-23291,23305,23307-23308,23318,23330,23338,23340 +chars=23344,23346,23350,23358,23360,23363,23365,23376-23377,23380-23381,23383-23384,23386-23389,23391 +chars=23395-23398,23401,23403,23408-23409,23411,23413,23416,23418,23424,23427,23429,23431-23433,23435 +chars=23436-23437,23439,23445,23447-23453,23455,23458-23462,23470,23472,23475-23478,23480-23481,23487 +chars=23490-23495,23497,23500,23504,23506-23508,23515,23517-23519,23521-23522,23524-23529,23531,23534 +chars=23536,23539,23541-23542,23544,23546,23550-23551,23553-23554,23556-23563,23565-23567,23569,23571 +chars=23574,23578,23584,23586,23588,23592,23597,23601,23608-23617,23621-23622,23624,23626-23627,23629 +chars=23630-23633,23635,23637,23646,23648-23649,23652-23653,23660,23662-23663,23665,23670,23673,23692 +chars=23696-23697,23700,23713,23720-23721,23723-23724,23729,23731,23734-23736,23739-23740,23742,23749 +chars=23751,23769,23776-23777,23784-23786,23789,23791-23792,23798,23802-23803,23805,23815,23819,23822 +chars=23825,23828-23835,23839,23842,23849,23883-23884,23886,23888,23890,23900,23913,23916,23919,23923 +chars=23926,23938,23940,23943,23947-23948,23952,23965,23970,23980,23982,23991,23994,23996-23997,24009 +chars=24012-24013,24018-24019,24022,24027,24029-24030,24033,24035,24037-24040,24043,24046,24049-24053 +chars=24055,24059,24061-24062,24066-24067,24070,24075-24076,24081,24086,24089-24091,24093,24101,24107 +chars=24109,24111-24112,24115,24118-24120,24125,24128,24131-24133,24135,24140,24142,24148-24149,24151 +chars=24159,24161-24164,24178-24182,24184-24191,24193,24195-24196,24199,24202,24207,24213-24215,24218 +chars=24220,24224,24230-24231,24235,24237,24245-24248,24257-24259,24264-24266,24271-24272,24275,24278 +chars=24282-24283,24285,24287-24291,24296-24297,24300,24304-24305,24307-24308,24310-24312,24314-24316 +chars=24318-24319,24321,24323-24324,24329-24333,24335-24337,24339-24344,24347,24351,24357-24359,24361 +chars=24365,24367,24369,24373,24375-24376,24380,24382,24385,24392,24394,24396,24398,24401,24403,24406 +chars=24407,24409,24412-24413,24417-24418,24422,24425-24429,24432-24433,24435,24439,24441,24444,24447 +chars=24448-24453,24455-24456,24458-24460,24464-24467,24471-24473,24478,24480-24481,24488-24490,24493 +chars=24494,24499-24500,24505,24508-24509,24515,24517,24524-24525,24534-24537,24540-24541,24544,24548 +chars=24555,24560-24561,24565,24568,24571,24573,24575,24590-24592,24594,24597-24598,24601,24603-24605 +chars=24608-24609,24613-24619,24623,24625,24634,24641-24643,24646,24650-24651,24653,24656,24658,24661 +chars=24665-24666,24671-24672,24674-24677,24680-24685,24687-24688,24693,24695,24705,24707-24708,24713 +chars=24715-24717,24722,24724,24726-24727,24730-24731,24735-24736,24739,24742-24743,24745-24746,24754 +chars=24755-24758,24760,24764-24765,24773-24775,24785,24787,24792,24794,24796,24799-24801,24803,24807 +chars=24808,24816-24817,24819-24820,24822-24823,24825-24827,24832-24833,24835,24838,24840-24841,24845 +chars=24846-24847,24853,24858-24859,24863,24865,24871-24872,24876,24884,24892-24895,24898,24900,24903 +chars=24904,24906-24910,24915,24917,24920-24922,24925,24927,24930-24931,24933,24935-24936,24939,24942 +chars=24943-24945,24947-24951,24958,24962,24967,24970,24974,24976-24977,24980,24982,24985-24986,24996 +chars=24999,25001,25003-25004,25006,25010,25014,25018,25022,25027,25030-25037,25040,25059,25062,25074 +chars=25076,25078-25080,25082,25084-25088,25096-25098,25100-25102,25104-25106,25108,25110,25114-25115 +chars=25117-25119,25121,25126,25130,25134-25136,25138-25140,25144,25147,25151-25153,25159-25161,25163 +chars=25165-25166,25171,25173,25176,25179,25182,25184,25187,25192,25198,25201,25206,25209,25212,25214 +chars=25215-25216,25218-25220,25225-25226,25233-25240,25243-25244,25246,25259-25260,25265,25269,25273 +chars=25275-25277,25282,25285-25290,25292-25293,25295-25300,25303-25305,25307-25309,25312-25313,25324 +chars=25325-25327,25329,25331,25333-25335,25342-25343,25345-25346,25351-25353,25356,25361,25369,25375 +chars=25383-25384,25387,25391,25402,25405-25407,25417,25420-25421,25423-25424,25429,25431,25436,25447 +chars=25448-25449,25451,25454,25458,25462-25463,25466-25467,25472,25475,25480-25481,25484,25486-25487 +chars=25490,25494,25496,25499,25503-25507,25509,25511-25516,25522,25524-25525,25531,25534,25536,25539 +chars=25540,25542,25545,25551-25552,25554,25558,25562-25563,25569,25571,25577,25582,25588,25590,25594 +chars=25606,25613,25615,25619,25622-25623,25628,25638,25640,25644-25645,25652,25654,25658,25662,25666 +chars=25678,25688,25703,25705,25711,25718,25720,25722,25731,25736,25746-25747,25749,25754,25758,25764 +chars=25765,25769,25771,25773-25774,25776,25778,25785,25787-25788,25793-25794,25797,25799,25805,25810 +chars=25812,25816,25818,25824-25827,25830-25831,25836,25839,25841-25842,25844,25846,25850,25853-25854 +chars=25856,25861,25880,25884-25885,25891-25892,25898-25900,25903,25908-25913,25915,25918-25919,25925 +chars=25928,25933,25935,25937,25941-25945,25949-25950,25954-25955,25958,25964,25968,25970,25972-25973 +chars=25975-25976,25986-25987,25991-25993,25996,25998,26000-26001,26007,26009,26011-26012,26015,26017 +chars=26020-26021,26023,26027-26029,26031-26032,26039,26041,26044-26045,26049,26051-26054,26059-26060 +chars=26063,26066,26071,26073,26075,26080-26082,26085-26089,26092-26093,26097,26106-26107,26114-26115 +chars=26118-26119,26122,26124,26126-26127,26131-26132,26140,26143-26144,26149,26151-26152,26157,26159 +chars=26164-26166,26172,26175,26177-26180,26185,26187,26191,26194,26205-26207,26210,26212,26214-26217 +chars=26222-26224,26228,26230,26234,26241,26243-26244,26247-26249,26254,26257,26262-26264,26269,26274 +chars=26278,26283,26286,26292,26296-26297,26300,26302,26305,26308,26311,26313,26326,26329-26330,26332 +chars=26333,26336,26342,26345,26352,26354-26357,26359-26361,26364-26368,26371,26376-26377,26379,26381 +chars=26383,26388-26391,26395,26397-26399,26406-26408,26410-26414,26417,26420,26422-26424,26426,26429 +chars=26431,26433,26438,26441,26446-26449,26451,26454,26457,26460,26462-26469,26474,26477,26479-26483 +chars=26485,26487,26492,26494-26495,26501,26503,26505,26507-26508,26512,26517,26519,26522,26524-26525 +chars=26528-26530,26534,26537,26543,26547-26548,26550-26553,26561,26564,26566,26570,26574-26577,26579 +chars=26580,26584,26586,26589-26590,26594,26596,26599,26601,26604,26606-26607,26609,26611-26613,26619 +chars=26622-26623,26626-26628,26643,26646-26647,26654,26657-26658,26665-26667,26674,26676,26680-26681 +chars=26684-26685,26688-26691,26694,26696,26701-26702,26704-26705,26707-26708,26713,26716-26717,26719 +chars=26723,26727,26740,26742-26743,26750-26751,26753,26755,26757,26765,26767,26771-26772,26775,26779 +chars=26781,26783-26784,26786,26790-26792,26797,26799-26801,26803,26805-26806,26809-26810,26812,26820 +chars=26822,26825-26827,26829,26834,26836-26837,26839-26840,26842,26847-26849,26851,26855,26862-26863 +chars=26866,26873-26874,26880-26881,26884-26885,26888,26891-26895,26898,26905-26908,26913-26915,26917 +chars=26918,26920,26922,26928,26932,26934,26937,26941,26943,26954,26963-26965,26969-26970,26972-26974 +chars=26976-26978,26986-26987,26989-26991,26995-26997,26999-27001,27004-27006,27009-27010,27018,27022 +chars=27025,27028-27029,27035-27036,27040,27047,27054,27057-27058,27060,27067,27070-27071,27073,27075 +chars=27079,27082-27086,27088,27091,27096-27097,27101-27102,27111-27112,27115,27117,27122,27129,27131 +chars=27133,27135,27138,27141,27146-27148,27154-27156,27159,27161,27163,27166-27167,27169-27171,27177 +chars=27178-27179,27182,27189-27190,27192-27194,27197,27204,27207-27208,27211,27224-27225,27231,27233 +chars=27234,27238,27250,27256,27263-27264,27268,27277-27278,27280,27287,27292,27296,27298-27299,27306 +chars=27308,27310,27315,27320,27323,27329-27331,27345,27347,27354-27355,27358-27359,27368,27370,27386 +chars=27387,27396-27397,27402,27410,27414,27421,27423-27425,27427,27431,27442,27447-27450,27453-27454 +chars=27459,27463,27465,27468,27470,27472,27475-27476,27481,27483,27487,27489-27492,27494,27497-27498 +chars=27503,27507-27508,27512-27513,27515,27519-27520,27523-27524,27526,27529-27531,27533,27541-27542 +chars=27544,27550,27556,27562-27563,27567,27569-27573,27575,27578-27580,27583-27584,27589-27590,27595 +chars=27597-27598,27602-27604,27608,27611,27615,27627-27628,27631,27635,27656,27663,27665,27667-27668 +chars=27671,27675,27683-27684,27700,27703-27704,27710,27712-27714,27726,27728,27733,27735,27738,27741 +chars=27742-27744,27746,27752,27754,27760,27762-27763,27770,27773-27774,27777-27779,27784,27788-27789 +chars=27792,27794-27795,27798,27801-27803,27809-27810,27819,27822,27825,27827,27832-27839,27841,27844 +chars=27845,27849-27850,27852,27859,27861,27863,27865,27867,27869,27873-27875,27877,27880,27882,27887 +chars=27888-27889,27891,27915,27922,27927,27934,27941,27946,27963,27966,27969,27972-27973,27996,28006 +chars=28009-28010,28014,28020,28023-28024,28040,28057,28079,28082,28092,28096,28129,28145,28147,28151 +chars=28155,28165,28167-28169,28171,28187,28193,28198,28201,28204,28207,28246,28248,28263,28271,28286 +chars=28287-28288,28304,28310,28316-28317,28322,28342,28357,28363,28369,28381-28382,28402,28404,28417 +chars=28418,28431,28436,28448,28450,28459-28460,28500,28508,28511,28516,28526,28528,28548,28580,28608 +chars=28609,28611,28641,28655,28716,28779,28783-28784,28796-28797,28809-28810,28814,28818,28844-28845 +chars=28857-28858,28872,28954,28961,28966,28982,28988,29017,29031,29033,29038,29053,29066,29087,29105 +chars=29123,29157,29165,29173,29190,29226,29238,29242,29245,29255-29256,29273,29275,29282,29287,29289 +chars=29298,29305,29344,29356,29359,29366,29378,29401,29417,29420-29421,29436,29467,29471,29482-29483 +chars=29486,29494,29503,29508,29539,29554,29572,29575,29577,29579,29645,29664,29677,29694,29699,29702 +chars=29705,29730,29748,29790,29863,29872,29926,29942,29976,29983,29987,29992,30000-30003,30007,30010 +chars=30011,30028,30033,30041,30044,30053,30058,30064,30067,30079,30094,30097,30123,30130,30142,30149 +chars=30151,30169,30171,30185,30196,30202,30221,30274,30284,30290,30294,30330-30331,30333-30334,30340 +chars=30342-30343,30382,30394,30399,30406,30410,30423,30427,30431,30435-30436,30439,30446,30450,30452 +chars=30456,30462,30465,30473,30475-30476,30494-30496,30505,30522,30524,30528,30561,30563,30568,30609 +chars=30636,30643,30652,30683,30690,30693,30697,30701,30703,30707,30722,30740-30741,30770,30772,30813 +chars=30828,30849,30906,30913,30952,30990,31034,31036,31038,31048-31049,31062,31069-31070,31077,31080 +chars=31085,31105,31119,31168-31169,31179,31185-31186,31192,31199,31209,31216,31227,31232,31243,31246 +chars=31258,31278,31282,31292-31293,31295,31298,31309,31311,31339,31348,31350,31354,31361,31363,31379 +chars=31391,31406,31435,31452,31456,31461,31471,31478,31481,31499,31505,31515,31520,31526,31532,31545 +chars=31558,31560-31561,31563,31570,31572,31574,31623,31639,31649,31665,31672,31680,31684,31687,31689 +chars=31761,31777,31807,31821,31840,31859,31881,31883,31890,31896,31911,31934,31958,31966,31975,31992 +chars=31995,32000,32004-32005,32011,32013,32016,32020,32025-32027,32032,32034,32043,32047-32048,32051 +chars=32057-32058,32066,32068,32070,32076,32080,32094,32097,32102,32113,32117-32118,32121,32153-32154 +chars=32173,32177-32178,32180,32186-32187,32190-32191,32202,32207,32209-32210,32218,32224,32232-32233 +chars=32239,32244,32257,32260,32283,32294,32302,32318,32321,32330-32331,32340,32368,32566,32608,32618 +chars=32622,32624,32626,32645,32650,32654,32676,32680-32681,32701,32709,32716,32722,32724,32763-32764 +chars=32769,32771,32773,32784,32791,32819,32854,32862,32865,32884,32887,32905,32908,32918,32925,32929 +chars=32930,32933,32937-32938,32943,32946,32954,32963,32966,32972,32974,32990,32993,33016,33021,33026 +chars=33029-33032,33050,33073,33075,33104,33107,33109,33131,33136,33144-33146,33178,33180-33181,33192 +chars=33222,33235,33251,33256,33258,33261,33267-33268,33288,33292,33294,33296,33303,33307,33310-33311 +chars=33322,33324,33337,33351,33382,33391,33394,33398,33437,33446,33455,33457,33459,33464,33469,33495 +chars=33499,33509-33510,33521,33538,33540,33576,33590,33609,33618,33624,33655,33707,33733,33738,33740 +chars=33747,33756,33775,33777,33804,33853,33865,33879,33883,33891,33900,33945,33976,33980,33988,33995 +chars=34001,34030,34101,34109,34126,34180,34183,34196,34199,34214,34219-34220,34253,34276,34281,34299 +chars=34311,34349,34382,34384,34394,34411,34425,34442,34503,34509,34521,34678,34701,34811,34821,34880 +chars=34886,34892,34899,34903,34907,34909,34913,34915,34920,34928,34955,34966,34987,35009-35010,35013 +chars=35023,35029,35036,35064,35069-35070,35079,35090,35186,35199,35201,35206-35207,35211,35215,35222 +chars=35223,35226,35239,35242,35251,35282,35299,35302,35328,35330,35336,35338,35342,35347,35351-35352 +chars=35357,35359,35363,35370,35373,35377,35379-35380,35386,35388,35408,35413,35422,35430,35433,35435 +chars=35438,35440-35443,35463,35465,35468-35469,35475,35477,35480,35486,35488,35492,35500-35501,35504 +chars=35506,35519,35527,35531,35542,35558,35565-35566,35576,35582,35584,35598,35609,35611,35613,35617 +chars=35672,35676,35686,35696,35698,35703,35728,35895,35910,35914,35930,35937,35946,35980,35997-35998 +chars=36000-36002,36007-36009,36011-36012,36015-36016,36020,36022-36024,36027-36028,36031-36032,36035 +chars=36039,36042,36049,36059,36062,36064,36066,36074,36077,36092,36101,36104,36196,36198,36208,36212 +chars=36215,36229,36234,36259,36275,36317,36321,36335,36339,36341,36362,36367,36468,36487,36490,36493 +chars=36523,36554,36556-36557,36562,36575,36578,36600,36605,36611,36617,36628,36637,36649-36650,36664 +chars=36676,36763,36766,36784-36786,36794-36796,36799,36804-36805,36814,36817,36820,36843,36848,36855 +chars=36861,36864-36865,36867,36870,36879,36884,36889-36890,36893,36895-36896,36899,36910,36913-36914 +chars=36920,36930,36933,36935,36938-36939,36941-36942,36947-36949,36960-36961,36963,36965,36969,36973 +chars=36974,36981,36983-36984,36986,36989,36991,36996,37027,37030,37034,37048,37066,37070,37089,37096 +chars=37101,37109,37111,37117,37197-37198,37202,37204,37218,37228,37237,37239-37240,37266,37276,37284 +chars=37320,37324-37327,37329,37340-37341,37347,37351,37389,37428,37444,37474,37489,37504,37507,37509 +chars=37528,37549,37613,37628,37679,37682,37707,37723,37749,37772,37782,37806,37857,37912,37969,38263 +chars=38272,38275,38281,38283,38291,38306-38307,38309,38322,38343,38346,38360,38428,38442,38450,38459 +chars=38463-38464,38477,38480,38498-38501,38506,38512,38515,38518,38520,38522,38525,38533-38534,38538 +chars=38542-38543,38548,38553,38555-38556,38560,38563,38583,38588,38592,38596-38599,38609,38626-38627 +chars=38632,38634,38640,38642,38646-38647,38651,38656,38663,38666,38686,38695,38706,38738,38742,38745 +chars=38750,38754,38761,38772,38788,38867,38899,38907,38911,38913-38915,38917-38918,38920,38928-38929 +chars=38931,38936,38956-38957,38967,38971-38972,38988-38990,38996-38997,39000,39006,39015,39080,39082 +chars=39131,39135,39138,39151,39154,39156,39164-39166,39171,39173,39178,39180,39208,39318,39321,39340 +chars=39348,39364-39366,39376,39378,39423,39438,39442-39443,39449,39472,39514,39592,39608,39640,39658 +chars=39661,39706,39729,39740,39745-39746,39749,39764,39770,39791,39854,39881,40165,40169,40180,40335 +chars=40372,40441,40474-40475,40478,40565,40568-40569,40573,40575,40577,40584,40587-40588,40593-40595 +chars=40597,40599,40605,40607,40613-40614,40617-40618,40621,40632-40636,40638-40639,40644,40652-40656 +chars=40658,40660,40664-40665,40667-40670,40672,40677,40680,40687,40692,40694-40695,40697,40699-40701 +chars=40711-40712,40718,40723,40725,40736-40737,40748,40763,40766,40778-40779,40782-40783,40786,40788 +chars=40799-40803,40806-40807,40810,40812,40818,40822-40823,40845,40853,40860-40861,40864,65281,65283 +chars=65284-65286,65288-65374,65377-65439,65504-65507,65509 + +# imported icon images diff --git a/src/data/builtin/builtin_font.fnt b/src/data/builtin/builtin_font.fnt new file mode 100644 index 0000000000000000000000000000000000000000..3986e9c134c0490f813c5ebf5175afe00acf7079 GIT binary patch literal 92105 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�L4)UFleO8XJ~9 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 P4zEqle}K)A&r<&nuaHJ^ literal 0 HcmV?d00001 diff --git a/src/data/builtin/builtin_font_0.png b/src/data/builtin/builtin_font_0.png new file mode 100644 index 0000000000000000000000000000000000000000..6e588e345e64def3b58b74b85bad48316abda29e GIT binary patch literal 31135 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 Fu5DcB&rR^>{@6aman3BC zY1n98lVc#oWinE#{PG1BdCY>=rL%48x#fz%_}RaoFp-~L47BNv;Mr&TZ0VwFIDE{u zMYa0LP+=RCGfo6CgmaFi&7kaak7n1_c&}sEk!l~4%9o|YZZwo}OW zAIJGP)#ub(9Du@pfKLRB)r*d+fu8vMrik~NsBu8~DE(sFi1kKpE%AGOO<&g5Wh-|U zlSq%wb)Rq6R%3L%A$l;y-2{K2w$F4T{xKzfmNI{>s2gR_pS9$Co|XLb0VVtZ{S(wa z8+Co0$5M8DZ@x$Py`SpPmV}dAt@HK7E@tX8vuUB@n2-8keCd{Yc|V%qc3$@R$9v-5 zo!?bbCr4wyP~i6mrn}Vp(Ud5A_%((8owH8#I9=kotar1Jm$-+Ux*f;^~ASUL>0?& zFt#&*1b#NLvKqk))=>HsDvYY$spEGvZxn)})F%eQ7EI~c(94j2*10&@XF=y$avsX) z@#7D1C=j6L4Oy3_#A6`4;5_l?G4)p5p%cZ(gFlH4TlH=XBD<-A>i5kIUOrzN zAsLH;7r5z{8Gv^^Qad{=Gu4S-lniKHlFkiQT_43ZKyE~EP@soUEZdnK|6_ux40|v~ z%+AmB>H6f$q})4EyIGLH6B!HSQzuFW+uKwM>yCB!F%*4yLFx#>Bf>yd@7K>MlxmEi zuAtE+GIj#IJ{Ej>cXgj5ccG9S)j~U?WS9h99qL3S66lmOHOg0?-)NzCMP)q0ImKzc zY#FJm5LChM#~IcRaO;A~`m#DxGKD^02fm%1Uy?H}@U#^tRgex9PV~0}P9nF;_97B$ z$!-H#wzS3c9?cQg)oBJEFmXNX2cx2AMJ(~~l`{oOJgDX+2;29?Au#h@I@R zAm``a4M5-3c!N>?T{33Tbo<)>)+yEU|71B6h@Wihqp4Ek`}0KtuiKW5IB^9o%s%Ia z@-5oOD@Ceh5AP7g%}8%r%G7J|GvZfV$2$V41&Li7Qp4NWoFgA!qs;@F6~s-9-y@1e z^}s`WbPy&L+?5-$_lAV|a6ISE6;R427*-1Cd-VDkP`wKeV4JnIj_3KBC!l`k^)biH zl(SQwf&Km&6zilH8hp;l@tab9>yD&3hw#KO!!!u=fQEdId?2{b-VKFw1y-P=c?{m) ze1%4yzsh@LqH3YCd+txxHcM=c3ELw1mTO_d+O#?RIm~oTlS1q%oUrDseRHK;s5r$ghw4V(RwE(v5h7ihlFGg*vXadu(e0ui)DDUHa^yhNstcw;!hHeWwG~ zcBS;$R6pA;AQg$gRY>DwJ#ikEombeyE&vfMC5Z$Mt8Y>g3jSw&0DjYFe}9WSt!CIn z)r-({%4kmy+pDA-=*rUz-2u69G!nSopcud_Cn1o=jnk-EuJg^o>MW8RMlW7maM+Z- zsKD6+UZ21J;POchax#(@bR@@pqfD6XnEf^L71L?`;O3pbx4*X87^Kro^I~2 zAaZx+k~;k&N^*%{SiQKOpf@C!K5#K=yd`QmH-gs2B^y?rGGcbJNu7fdd=%XgNb|d< zRE~=Rw@^fM`ZA1h5_y|}90m>W3CGBehVKxX_mH}R*Hh_MI*q0(RH}ryCWkOg`SEG0 z?ICT=UJx5Dns=N5q+RK=R_45mS(Z8bJ1`SWkFGGii>dphE~bYVvz)EbnMY2%8 z!1a3@foGc;t_ssuwu%rik%Qs+dr>^VhSaH?q=>sXj&vC(koaVbj0p%HazT5jeH}&2 z{3g1dnT-(<1a0AU{;h$O#&0+YU#1|Y&veE^#lhHf9VV0qSM9V`i#81*U?*C&@a0%J z8~nEys@sVveL~4w-({|7sVwd=hE09k)TJxe5!Z2e&jq19z%xWCPvp~&vlD@`2qfOx zq@s2MTd<{z1_+x=R_`W?Os^T;6v4R!P%O^PI06m2Z&dJM)X}gWqO7k5p1uSu zjkC4zo|#wu{6e&f8!(Mlt-Q4dZ=7;M)=I!&OVEJ0mw{T6@gWCY`ute_=ZWjs56Hv& z>+{1ndcAjK%?S2+2?!=vjk$K=eP?JJp;hM+cZxg4)U2I!q~N@%ETfz6cT8{R`-7L* zytu3bRu!`!7t{|ouA@X~8z=h-Y|2*#W+EJnXR*TO8RGEYl@q^yK%3%M9&zIWhU&8D>E zzv)T#RRooFOIv|~fP#u~R3hqe7>)TBc!m zU-_HzH>ql@cJe?S#m!O$U&a8yP+95W*lNCa8u8iCp|CcfmMr|b16Z8w;+(Qq;^|GA zd8`OqB8Ssf$MpFVv_jwaT zd$oJ{aO9cONPiW8Wcue?Wa7Y(Fx!_n zgnEG}E?S1!x_(nR&ashHB2RD#?3OMg2>GZVd>ctIRj!IsyYCuqEm~>i43wf4OdFO4&1G3B^M|&Bn^cmlik^&hz3>&ma$Qt-cU0_R zb=%@oGPOVvOr7v;0Ngq7Pn@@SX6k|{_FXydcFs8j)$W6@LWnpA|7*McGfJ%gTLqF|3-#GrCg8!I$q5wc8v;kPPF2zRw-ftyz}48a*J243p}WC*Dlu z)5W##b{+Be%J{Jrth9ZrCE|q-VQCy<`oBlW%_6ec-@ifMv*spiJ;zC?i7I#Y_#5;S zUY{%l7(!dWGFflL>|9>__hTrW!0gc>pvzA@d%1pwr5;CS3haw3GoxKt+_%;4w~&;^8WMGIrt z=2A~Q)VwE9SgbrG6@t1ncgn^M_T6kYuBjOS8N}Hgn^}dNs#T8AvsgEmfQD(zVGW6R z>2GjzJ!KIM$+C>p5k)ctc|_Y6*LUz7b|6ldazB18Y z+ra~nvAycn3o#2fyaG(~u!*@GLoVY2>T^YyGz%YgugBE{+_V3@yD1bwTP1c3czIvWW&| zVdqU5RFVj474@{HPXR~OC0=NFX)^&DJ`6s-pk%dH-q1Pqu3#lqLcl>;pWPBqdQ)2s znT=P_@sPS_7DyA=NKe=2W0z=m0K9juLe&Yj-JQ-^&U-OVbT#w!4aG7A$%1-8ic10@ zE+7k*U3_MG<2YaB%*9Hij=r~j?KeIll6Z-7rpV^X-#TD*L>kZG7gq?bD}oApvAXncJfSzby0#UI3ob&Fy_MrrVL7P=j3LLEY-!ge^KP+;gPU7@ZJ|2&YC3&G$pWzq$d}D4kRSL$*+i&X?E-RS zEPej~9Si0yb<)BoO!r^~y>~?vtq?0J?gP6OS*(%Ui`==@XPBOpbS!yjuz(Z`CD^{O zLEEyLR`^}*=#+?`Uh(mS=_i2TT@h3T0bYRa_H|MUKQ7dMb`~CU;RLH^_ zROI2hfil@Xlncnn61`M{8ojWk1&*RF=w)AK z0h~*{eQfORtq4E&q;wX_KJv07NOACjHEw>nk|)&NTbbN`-MsYA5cc@0pzm$*l&%in%+(K$Fb0E!iS;wYy&To%+(bS45-RCT9w8;asZIJ|8XJrpES z$05XTqm9j(UO8!O71S?X0IRTq2L#3K-I74Lrg%htROQ}S3LDLFuHOiUZE47k+#5>&jVFB-yg z8zP5)Tf#y=9{HkE0ghD%j6CmY(tIc5>d*G(f+&X3V%n2eH2v|KAZ6n9S)*<7Rw~}0 zDC?nDpzqJ0jRabBUOQyYCHGcobVrnWLc>O-PfaUr?#S;;fEJPF9-ONv9Wh*Y;p64| zFK(qXnACJ$EBbs=Qs?9QR-qhtobOFXt+i@3UMWvgo;-+jg;5eCT~4Tp&&0Mba^BKi z>5jtL4yN|$ENSOLwENY71!tBYw$8QbCP2Z-+{>=hJZNK04n3o^D`(a-I7+fq=@pIy zT9aW-$1YZIu|M)N$3>mzjkDF2l1hR$q=;uBZh*!EGq31eCaM@Xn>o4O(<=mWz{?TP zmZImLpEFT(QeMC@BKl&2NPWl@wC1FmCE8CsXO+oGB~f0%ASW{@<+Q5=lYosN>==v|>60XQ8Q`FlEtlgikGE>B}t;wTm;1%jkIOZ#|WY^RZx zkya;VUdK-`Vks!$5$LeP$kH)%Zs^I~fuM0ZHE06^d2^!Egg(CNpN%Iu@lcY39Cb5m z23UB8i{W!%W*SZwn{r=~TiS;>h!LtVMh$>Bc|Io=_TKEQ3GjHA5VXd zuHU7u6WUj>VAV?RD)?>ZI-ZyB!JhX#7cloIsxPROX9+u=)bWPM*IL7qdA^hGGb+QN zK=2Dm^I{(;%y%VkIXHBWz5%r%b!}P{vSPXgo=4YZzYh2B#a%$5pe?rFxPS1P`HIm^ zpRPw;sUNXLK7>d0l({X=2#`a`7ljNSd{XjyE>@$9=$~{shVxwJrnDWeea^+M6B_6C zy7r5BXm~6pAH8|ofVxAkJdS8QD|5^G zQK0LXiXQzBg;~Mz!21rUGItv#t01Srzs=${OyO*PYFC#2*Qi54$~~B?8{5Yq7tnbT z5%gWVb3+c3Le_gxlvP8i+Zq%0SIq096cl+qw)#D?v$t>Gk_w?T%9+l-1udA>;#qNO zcqPjUxqt=PRxbCchPH)R1Y}b}KHHpRy;jNzZu)o-6kKBPw%hQe7rKBOl^%LSKK>L zhoES|F|;sd(K}+n3QE=knNl1kQcwN*{5Q7{{tuW-JOhZai`f-e$J%Wmjn$5(=novo z*5X_x_>^LuB`?0Lip?Wa9e{9d;Hw6pd_y^3Y%H&Eprh9+AOqPB13;_+sI@lafZ9Xi zc-$7lib252N)kbxv*c(@3qTI^aWF-R=&EJQcI^zV_Ur{c`CEn}R-PR)1r z^Ma&_*ys}k%LUmRFvLh2i6H&V-1l@+{ptNl@~)8W$@KEDMMmc(Z?G3CI3B@0(BNTq z<)m#yYO%yE_`<;5exP}7BjbG+=PkpOHzciR0GsMrX-mAp=%#z2lJEp`9u8J*Ac4pe z7=;~fz9(h?Ei(Y|B;{FYF`-W6HhUp7$1yvjWt`u5p2qj*`}58o?N?_21ehffxfoDa z3+YpJdmnz`9}?XQb0J7g-0Lq#VfEoIuA!7Kdo4H5!#{L;f*8FzU${PEW?5Y~=MV}n zY${MTF5ER=52NieIyMFp`WrVHBY_?Ac#K-d!838e)~5es777`0A!UU0I{0_Du_!0J zVZ00y2*%MQ(#!$b767*F0?Ld?U_d3Uzek_I%EU2fZ)k6uArZN^yj<}SPDud$lqES4 zb%hDj)8gU*3L!#KLVP%x9=q{Wy8IX6i2Y2=rcv^*v#rYWfn zpqla>qd8cCnD0Y;9Y;(>l&}nobSc>=;*MrmFx_g~HUumoj9(*iHe0TL+Wr+0WSapB zg^TQC@ZZZwl0NIo?@**@#Is`Ivx1S4<|46|vN&Ryma*v5(+24vWvb$O$~S450gQea zVqZA}2Li%MYY}F%L^z?@dvGAEHNe#RuI)+Oia^J08}XNV2Jkqh)1o6nlv39cBuTL) zEXv8B3fHi2)#{BroJo}AHt~)2-L@iedTW&X`zsjDIptDOuxbWq#!_PAiy^bh+xGM@ zEUIp!Vab>a=g)E|oeDR=T+dMnLGu{+^_JCzToLs{3KPq^?X?>F_=2mT2LFk&Wb_hB5qHNTgUIA?R9vj&%0zpgE9J!h3?BVxj z#YXQ>b6$}x{8_NU>-f&$bN9a;{G19tl=Ty)yxED6BtPF^6j>+pSb7v~9*+I`{`|2> z;Iv$e0*{hj@Q^Apvw(Q3jzlPY(m(Kea4im#-)ZsQPhO9%@9C(f`Ja3J=3Iuuod<|T z3$6NHq&qNh23}W(YF<_8?<)Bj^e2p#@o#_r4fpt$zMi-TZYC{KwoVyW0wmlFRlHCa znR)Ww-J{K!vB}pEbrJIz?4N`PI*gquDM)EvvDGlBGA52$F}a?53c+0su7vQ(n#zQ) z8xc_~x|uOX?m!2(4!LxVBH4JF8UT5?6DE5qn)gVmNEP&E0Ir?)&4qSw;w;4gkkwSQ z>N^age}mWg3YA*~L231|2+s(C$mTpH(bh=e$(5 z2RKJ!m<0VXhkvtsP{CEoU_c8*3P?FIuL$3*W}GXpWd=f8ntqm! zv6~CAl#I-uOs*-Wf}9V5Z&uSXNtgm=*(e9_?L2v>fKENO&7m1E!4C2HQUe$m8zf94 zr5X@)9t1V!Y)}aoWQEPognHdrP>>yZSY;08-fkX2Yax7bYa@Tyq(8-)dk(hhS{Ma= zdy1#Ebyfe&a01s7%v6}=={P!dZ2pnR9G>iik_ubgyAgX&D#yNvjp0*WqYO! zB<;?~chX|&)?*p%&+M(Ar5L zTJ!(iF}KbLU;yVgNNc(qDaL3Q@O}NSdL3Yd?Mi@S834m>U!&l^2rOR)05jYo&Ei^# z_G?|hVq*&2OD<3J);k!;ufZO{-@yMj9RBHhAK%~kBN}KXSdTM{7tfy9V9))6HyBn% z3T&Sa#S&!#h9}H3joevA0NbYHY{7nwqvBqE26cY>-k-N-#T2@JC|twIYZ5cSLHBhG z2Y8XP{2X2aHd1KSm&)*)p*;_Yl-hnVRW@WH2{b{RJ`~$jcNCwpXhUlGyl9{dJF~x; z0I~J7%uPMBbLcv)76k(-mN zrG4Cp_2d1VTf(@&-{2&yRHHV>SB1RsEHPw#*n=E?UqjChcVt=jG?hgRhI!8Pja$2Z zMg(my4N@nO<0xbzEU!Z;*-xY9f-@?fVs)E)F58a|&Vy#8Sv5#xrBjn@+6YPQaR=oA zPMsoefSEwgbSZ_%{@wmIU40GpB-UeQ2!_;kpzQ(6mRf0R#62$;LbX#=X&3;fK@$_U zE5CQjsCdeHoFrnVqmHmb1gI?vbJm*k8u@P3^PRv54QjGX|~sqv`~w}d&x5t)d> zC?`^!W>Nc&=VO-_3j~$96fU5MG!H4;_DYfTFh~DPju{M<-sw?3txl@8W7N(G+=*De zX5$$AKz5;=(l?Ja*TTHzqG(e&h6%XHrF<$8%y>?6;|7}(Q``vft?NKvS4?L!aJjji zaWr&8xk)-_?c#CUVZUz=@3;nMfFhtKPiE$)>Fal*LYls14w~AAJq#yFEGy^Nl@4*r zGf@>uO`FBooo9d|P@3>o z=@Tod13`<&QTtp0_FY(o2>vbnw`PEysE|~y8Kf=MXK%q1Q|77+I&L$-EV6swX-&;A zL^HEU`qIeCjVQgaw3MlG$FSK_z`UttPbZDnk;9q+kb2ik08;WKK?Ew&{OHQs(BLS>Q|F2wZ{ zG!GvG4ZbOhCbrs;TR~pAlZ8npU}pwJMmkBY2#%<*+aJ$B7wqe&ZfGtyX7W&3fo8Qn zF?=L9Z#2I%4}6xXz?J+_GnzPwhm)%9GNvfH>_9x+XChbe<|o~G$7+Clm~9QL$T?37 z`vPF!pF+S2;J$X*$O;#>V6ht17R+mJW*HUW?M^oAwvGLc2qI-Q1HLY+t04MsUf-oJ z0Lv`uh`_A9)>=OnuFlNHJtCc5D}rl%6bW|_J%g@lc{xyMW7)$>>-spRgY%0viAATP zYkQq`HI4|mG$8kJamI~ABw9P+T*nPqUPpp@Pv6O|N@=r<8X$eTt;A~tqS|(IR zn;_AORI_Gb4N@A)hY&D%wHJ9=iABeyErfnJou0`lUPQuwOKvYt>fL~>iS-06?;`Og z{ZYt^89mMbYEZ1je$((-qh}$0v5TIeR0f84TA?qHC$w8rT>5@Tt15PWMUU1(cAl{2 znNoQ2%~AwrMQfz3{*-Y%grKULaLIN~C!>yg@c%XDb)@v7?=D_mb5Wbsrfy4ka%(B8 z_OcT#vKd?gW!Y)L0%fG~+s~ms-0^fQClY@)zhx^DCc(!rIld^kiyE%AAZ$a`WX3ht zZCyB+0RW+zjAv-DzJU~~0Y+2@K`(hL8{Jm zYv7dN9nlZwhIG%ArnpIhCG{eC7r<54t0JBu3vf6fzGi?Xz;=Y0bt}=N(Xc%~SS9Z5 zr>N$q&9p%@%!^91A&Xm#+s!0shZv$L(rW& zf%oO-oUHjv0Z|^ybv!eid#L%zF$6vTdhXyAUOoNkZdwH}PE@afptS`qeOoN5eqieT zExsS9`}I1v4CDMwuV(e)T%_nGpS#`ip&01(mBH{dm9n)B&%bx`4Zi-^m*3JeLvM(S zzsnGei+}LG&L@{=0Drnow{foe%M2jP!Hb4(e^*qho+7I2x#V}r36bFi~e5T<2{4U$A9M3hPBH_U4}Cn~CJ;I@c*Q(9zeD`VDq= z3WG$m?V6A?o*9CAP8#h-{ms|`WP90loopyZ0(<2=B(q!a`wUZ|_XJOSv0;=?M;-x4`J_^77z4L;bOUHs` zO;J7L&q95ZG;E~o5er+G*qf|dr)eSO@K9f#M6;9VW;p*~d$_L~usW4Yc3oHi-HPt( zYyyOg_n4l(D#<-Eq|=cjVw`m*gM-@lTw+g|y3k5n>5V#=i(X|{wNOrX*{rf{`ST$F zYGn-737<`0@@83LAQi<0UH!MX?9N=4k}nYW{aH{Wx2nbc=CYp!crht&E4R?P42v(& z1O z4zt_Odwj$YP@vMiqN&0usOes;o<(EQ*QpruA{mjt-mm`V>*aHNSL|rm4Ovn>^?+_^ zEheWeT;?*vAWmMfiK9OLg|0T^IDaGPsxw!vjzy!Gpj`5;LBL3SQ@#8pnnfR)?VG1r; z5Dj3oEWr&Kq4W+o3IHlAbFV@c4T96(kHys|M=`yBPjCj5$!R^}q6n=*hmvC6y-t&3 zvZyU2FjiVX$*TH^>4BbQ(yN#WW#o-VX4u08y%I=bNbb+rmI07T%Z5dUjHn6V6i ziI!TCUbNWD=TXe!Iz#cy>vhiUH6=9uWF>z7o5$+$ZDfilFJXK_TS0wa# z*z(%HKYuV1I9KBT&k(1-^SA%hdmfHw|A$veo&OhKHw5|9Tmyc;wJ88KdPbt=Zy{9r z(Rcm)J@nr$xe^5)yeVA0)$~7|7-FtyQ%$?gIZfC1nC=77r&ZtlLW{hiQZLb}A05LF z{@;X7-`aY*>-0D7L>ShT#nb%WYyV2=G0D9Zu1@Hyi69hcMnpm>&CEU30_02JI0~W6 z&==^LZ_!x=voR>H^{17o2fD&H>fk_Gc-XiYX6SXhZ5B!6Mq?vs*d4@^x(5~(0XaPu zTbMgntM6Y7x~s3?oD3`K7ZfdO8JzT)Jqry`k!IEOE#3lYGRX!6vprCQp1_a^0!|iy zE-rxHOmB1KYHk?eg8oDV)l}9`$d~dxk6QR;2Iv5jp;*`#Q7>S8r!ee?nWug~En+Qr z!L?ws%$5VsO)fW6)OTG)G#W!PXUdgSD$@jzd&3jad3J?Ykh@5=pkA0Bm<3Hrr)Ng{ zx|}mxCG(VZhn5*&F3DvgJ;iR|fI8f|>rbH5&I2s{bh(5XCYh1R`_5ZkuItx46`WbV)ed6R3Ep#m(Z zk<}7*KN4kzg8L;(omvuH#M2Xh`1iv+z=^Evs5rkrUo3FK0!&~WU2G0StAv{j`#oew z5L)FOUZ{|hH$=tT;F-Fz1?1RUQt?D2}Rz6!_%d+ zOvwD%>Bym|HOm8!gF}m;NWPl0rFJThiv}%}Tp^sB`{>M9^IVFAqQX)?6pk(u(Uk>6 zH>GxvVS0&=XoD{^99NO@`4$zWS&5j|I}q^Hesy(-Viv}S^eKFS*xX|nzMB)$OXS<)|^j)l}O zWgvxFFYV57%TtrP5|8~s7cU}^l$E_|x;}|3JUEeFUafOvIt^Lx9{fOOO+>{!XJ~;l zAp08bPxrR=Z3kT8eM+Y2Tsd;JJ;aL>1hTqlPOcaLUUW9uncD#d#00#Af-bg3TG-A= zAq!{yUd}lCz-S{T(;T*z6@jv4)Bu@_yAUHYbXqmKn>olyEjkzb4t_5?myTU4qcZCB z6$nRO6~1{gy+E+HPJjhyV5tRoqPlrSr?3J5a7^RI_byw_S$b4SdMt35$uzd*q?~}F zjKR^3bC|Tw3i2A@(FuS(fzhS5Y@?#iZFyE;z(^K3!=g?xm2OoMdchz}SI;udnLu;K zG*w*AsE9~AC(u<>YBVW%fafwlo7xw9#6oW2AiH^{1Bu*QutRa~9L0qfYY6Nr4GY`B zj#%L(4{O8R2C69Po*U?^EX=6tKr>}{i>|wXwEMT$8_!MA7e$U=nk{6G-C~emeeK8z zF}K0yDC$%@5ed_1+-C3)wDWUIi{UHlwMrhNn1^Ydne326a@`W*H|ZJ}mW%q50>3}i zauKV9h|}R-+_-g$s$BS*hyiTy8K|W;^V*zF!wZR;G8;>RyCoTGR4X4jFxe(#Dk@jR zAQwB1B7z;A>_Z0L5ELYn0|+Xhdz^ zWLt%nF;i#=8+Kr>?CgqBXSnio%;1R7(eCKwzm$}c_-BnM!gjA`#eF7#tYiz@(Ezg{ z*(3H8N3JgTrU|Xaq(S(%&J{-cIkgWweJA|`#H5E*T`w%@TyP0X9tLH)`KB43Mw6d7 z6^<=vSw_LbQF~Tj)SFRY0=g3DkkZK0^hEZAv|0YNXXI%RxS^kzCn#W5#nY+?-G&(e z<{)}P*BKzQr-WgSa6>H#xx<6!Sd_WCj?lH#o-Y#R zYHbF=41gq6lzw~kuEbq7iFz3#`#hg*&iH00G%YhgA%{Zx&rEnNw9Nty2H-#nm^YmK z9yMwE!)Ibhs&72Htn#(OmMv`&2$^wZ6KwfOMR z0j1+KQy9fART#S+PBc%LHm$@qZ!xniUZ7o@m;?v`~g%7LiX-AGxA(5j<6`72~Qa|0BN8nJ+ zSUv!bS$a`-kHGuFU*Dfej3|5d@$joTW{v(WyyvZ#Ld24k@elH)7Kzb@F#bP&ZDp;5 z%fx1*=g7`>z9D)AWOcjF0%=V*hI9+Gn~rT|n>9I$kMZ8JO;Xm4cvk$q|B~0GIxFxE z;KP8=?`~lA^eRn8;Ate3I0WjzDk05a7&fC~BON%JeiTiJG(kF>dZDeHB-#X90eq}# zQzF~YyXU^ddP*Fm6JdH2=|ACV?3Rm&{wWZS>7H(c8W-}FPQh5G2DNkqWfrXg88qrp zQ`}oG)aG|iPGaY-HIn9FSQ@7))Fk28H`myjh`cF6WDzihkKQb9rBrI3 z*-ia0f=b9|fKV|B-6Y4Ot!B{nhFr%lO9l)8EveuBm=$`KuPZQuXfM8PTsG>N_=`3r zy-+0`c^W2x22-LHf`{l#U26csa~mILfMOp{V7#{jtD*t|Yf1K}J?0e}Pq6HdM>igW z-wZWmSqJE(kp^&1s%_1}DfPO3rksa97QJCJfQSrJY**tSQpq!gtDO;BJ~TCt<`0z} z&}pzyYiK-5x9g3BG>Zz~CvuwsChYinx{4)KD?JP%U5d$bebN(JEe}8?>SL+A9n!tc z47zF2BZ0@PD)K?j0`3Vlq5+_yt(E)oY{n6EUl;52;>#suUnVj|+jjBSh6RH_u5&6T zU0VR{j2w&u;tpNsbb<=&#M~Ku3kTMaDTjE^^-q``rE)C6)F;xyxUg7gzpL!obbdy4 z{bs=SQCM#dOzjg+jQyMe+If}~vK(Z4IC8_1?(?o19wyAZu-~U16yX5hpDz*!TCbna z3<=;sLL>Hz&}>RhTWXzu@DhP81H&9`Td3c$QOKVBhQ zQ}0U0+bRq1f{r72H{lEn%V|Lop_IDB!&Thgc!`)255kUDm$Jn(aO1Yo3_wDl8p+kZ zEca;6s%--YW&-<^plb24Q<1LemYo8 zRWfze)t4Yqw6p-9r|Bf1mZ@1u(K!?YFaCu|pcE&WNy&uB*rs21k`MNj=_0W?F{S$p zv!m(!dfWCEWzGix4sb~0oNi5N8zh^ALl8?*BYD6$X39({I2xLbB{{R!0QH`kwFZDx znzmsQ`?v_`=rW#TnYs?39ZZMg?P}qxorp82gbgO*geBH(2GFb?fVc#>Gv`b=QFZ|n zUBYrtmvBIY$M8AY63>4P@V9;nB%8*PFy)@?f7GCwu$f-G^5ruZ*ZDx3YtMz$kOAK zdcf;;uX`M4l;TM!9m*{Kg%-*Y{YXAJ6GNiITpEqzds7YV*I8&}{Qdbuk-#cQnrWVf z-^6Q1AA3XspJ;tvv`+Oqi59ng!4}MOu|E{-gY*5ma|4Fbn}%`;D{pc2UYOa6+iiz6 zWh2OyZ5kOBY^aPntz){6KW=9XqQ7wa~9JGA>wRf!uj!8eEWxTxKOd5v!@*4EU zcTYFE&Np>OCMD~_$sErs6e_ffXc^3;lZA!6QIKWLW(Q~JUkemiaFYWd_Oq5x!P`Uj z`EiBO^sdKmRqTusI!nh<)17AcXZkWl?(u;9JcR_x&|!^d$ODCy!Ni+FJe!j$rFZuTbS4!Wjz zoB}^+Lu=V6hAG(ea|;lp<+0lSIEdLN=0EYw=VDN^95uz-mOlxrVRY7Ho2KY1=Ei>N z)7NZDAUPHT8Ya?11k0h2h{;E_ppYEM7)v(Lo;eUR+xP?NzkA|pES*Ue%eMM7?<*He zaIP$z|K6FWLVC&ls)}&6Z$+Yl(08~DqQO&_n4Y&bYZN0Y8heRE6am1~1|;455GG95 z`qUxHmAvtg1gBJ|JSWEq!Puw2odg#(WIE9dlSY#ixZoIlwHh&D!i@cQ%OIY6n>AZI zsxgz`o}fv@HSO7eOB;%bY2E(k`F@D6USEHh_TAmbu77e4rI+6&cl;?%Qd?$zIf37w z>DhTrxWF!wI_*o)yy$B0+KoEhTa5X$%vxqVi+u_gQssm$teP;HcL50K_ zCudcd9vIjGOqv#x+0!?DjW`!c6k=ywpon!fi6hbOZY|Mx=7AGvQ>YcXM20ya;|S#R zrQyUQO2|xH1zQ@XX&>tnHv->G7sS!ry&7WldeY z+%U=(rsFwVb;JIczt?{|jUi@4#%Kx5GlK6$WCkKt`@K!o$oFallEM z?IzEnJROyuhbo#q;b8&2YvFXjYj+8(9-6>|G4pn)uu4gR6D_^}<(_`gZ++Eb#kd6MLgrV>rH%S*2>>b#5I{uglg9wnY)aSHA2W<2&JuQ`*V_36-@@ z3SqnGFO`jL1%r34#{gT`i1*Q+vyYNO7` zl_O(lORP$~subFZXw*U~k&t>x*4|H-+8M#bmB4=l-oNG(X}SKx)Mvg{E9!`3xeQ^dl`* zf_T)+bZV!{%RxLQA#C>gQyHs=jw{GF=E zrj<=gg4Ho%V-QhSZ^I25%-^m&1Cw5zn^^~jTb-Z~F|(5RJ4c2t5z?dpqQL$h-@?Pcklcn-91`jEs?+JWYIE|IBf`UXB;^ zWM=K}CuNQCft}97;fFpd)D=)J$8KLfkpOkZJ_}IW1v!kU$I2oO(piLHIr z7YO?zfo5b{NT8a0+hId;|8nBLkz-kYZ#1^vpl3r{Jp0~6(k6()$t|2G#Ijw1Tys+A zqDpNmQi>=r>*X(J4XYxO|X}( z?(-J7uN9rk^0$=P0tLZBfU7#Gi_*0f&L%Rt>_iE?N-k7s?wo7uW1o-N!D)@KOz(wKl6mKIgT|20>N306k&{^{2<5&6Y}aZ?1egvO zwAN?JMp`Sqr9cM)iIDO(C7RbJV+gQEo+0?JD9DIqtkd-z^IdrP)sps8tMCE zXUQ%z03d`S%e_|otZ3fDaROw1NRFyE5haD_yCC6t=Xl2b+>(r&bB1v*v5+OWcMsNW zo6||!wMgkg#Lnigd4-^z!rZd-<~mY(%J8)fCQDEVq9`kG(HTD98T6N@-54N&hESb0 z=goOjR~sr1kJi8WHEZj4O{>J{F**aCOgXz8Pim6gS2!Y*!Cn<@SL^zSABji);b{!- zW*m85)-s+fnDLmm_Y|?``}3!xfH%}@=kL9F4|CxrN9Mfe;|(Mdq>JVge@|#SO|ONV z$>i73d1*N>d@AqfTP5A?95?>qrW9sd!18?GnLn?%X9z9bm93M8lOo2mc%55`ZmPjEh_3T23EaDv(WF!Q!o5T$#2_)F_G7gbT0_s)Ey+_bix<`9 zk2Vh^ma%PYJWk{fyiJuGSx;N42ye%x*;sVGlwq`yI@Zr8y*`dPBhfiOushn~Xxwyu zdAS69f*>x99yo?kc6Uc_Xzg>x_>3No%}r8`Zawvxv9!%H6();l%0mM}k&V=|-L{H)saU6U$z;W|G9hhXX09 z(MHQFte+9C^2X66U7`?k&{GqKmw=j%xcL%!bQ_5cIe6pE(}(6rl`g#kBx`$h{a>V! zL=U{7c?-Y%-4cKf*K!q(hMPWAi3IOl(Y@6cpR#(BrHy4d54OeJW6KiM9|Q4lOI0EM zoY~m9tQ0N_3NA8>b$~prnM*MY?v5||vU_X)J_95NZa~a39I8B9grP85j3Gw}^az;M zD`D6LSD0`kws-c<0~Nkn-rp8BV#))c>EX2Ay8!Ia!QC!l0^P%TlYM+r+@}=5dVXDH zM6@r;t&70D%<7%?4v%MS>6EMZZ}>URAx!FkHczucZHxGwNgvTPMGwG0@V4XhWj8lz zT3o#mbqqAx`U&5k@6XO3n?#%vLEBO_XMXdwS)$_H4$k z6lMDt1FXZJO41>YjED zPy*QT)LcKH4x{*(X-nVlG)9S=_xFd?`((Min$$o4)i2pX4QMgF-0YANt>u^wb z4szphYl?rU^TBfE2#6~~aL}t*h(5nRe>N}B>q+wG4?%y_qH>IjU!PPL4b`#Y z$?6lUg_K)pjfHCZ#(R3p?G2F+4$RVmvm>IL_lH`?(YBe)x{$)fQX>i@RTr$d5MiEUjq6@+}>;&_MT+XOOb2Bw%Y=F9Xzwq~#l#10N zMlZYq7EGu-(LDE68)tDkhh`xtq$jjOlR1%sV0CMnLrwkZ2)x{U$O1}4s^Iz{Uu)p~ zpx71j1`p5?eBmK)MbO&fV4DD(&Xv!ha>zm1z4fgVMBXBtMb3Qpe4xfv~+Q|2g&E$(+S>fxy~49;Ot z4aJz1;N{5-$_Ln+fXFw$k3x}RJvAVIivUPOrB3dR(QXK>(ushKuYX`Tc>!V0n1+1M z{OI+>st@1wsRWNG3>BR$)_Q~Gnz3^xN1SflmI-m@8%UkN5>UZ%Yy&=0{re`gc;5g} zDMh*7yJg>TTG(_sr>r@90-Ja5O-LMU!NS#p6BqHa_Io*_fOb4toNcyjoh6qjoX|-% z@`)Z}WS3)5?sL+jU)iwX)ZRj+0IgEfjerZAOK4W^U;;TgFc0YLAbp%5(rFYlQL!rm zRjZGFPzg?4cnB?w*BWw4uVcgCdq#}+Q$#@7*`x7Iw2@6sVx@S`Io!!Hy=sIsW6Ecv zW_gHYFgjDYK%6}sb#(D*_Gta4MAFXT;ZyB->PMAv&IRMu#`(+~sCj>)A@ce9tW8z; zgBd6$(qFCsHd^ysf_3Z-M1POp*W+Szd{aTA!vGa0o=F>@t@JrD*rU%?t!BKT0Z&=0 zFqSg7WykaupC4Hl#!eeAb82X0>2!T9!THwlOer1koSKe~q8K@f8x?z?Rayb%j-LhP zi%4AC%SV#_Y8_NO7Q7=+pyJ%-4Ezt)af_s{LT$)&;;b>)<8MUa&I3V~SxZE04O-@A z#{f(u?DsN=eZu|Qw{Vb>PHYg|ma5!16tudmn1c;z(K2jP&u$nIISNXPdjWY&maeJS z)7~HL^sC~h<3G+(QN-dC2tLVtt)_mjR1toEzIfn{L~WkES}|)vsG`TpX<3;LxpaSB zvYW^udCdZgt2>)dOH7oJ)B#L?-iO~`v^!g<#50Phj8UE`!L*E%36P^taqQ!##Za0K zUZ$c;BPJzlC2c`MzU$PnaSh~?`jD^!ps2t#nPtHI5Vec7o*Ov~|7tOt!dfW1+QG;5 z%U8%!Z1JR`4bFmw1y#-4+Cae~L<^8Qe*Xlm%g{FQc`*`bI(I0b$$zujRINoENlk z20sTT#nf%TK=x8Lgx^&VQsbyvlze%QhBU%erxQXr8qYE8HHg>NnY9Zx7l&}j1ZIFq zxI0*5Vh&4;?KpE?-fDn(sK(cAo!HfUt?H`=plFLUWFizXw$cL}0JhQ&1C2T1$GYH} z@T&MNGDCO~B;3mA)JU``TnHE>&Cqg!b(xgo3o2R%>~(elO8va&B3j}YR{ZCSf$&CCyw#u%s}|6l=hE!K1>t-^FK6QxN*Ph8<4sotbxvB}F%V`)JN=r#E)9s^HUq5v^mPVM z^r@-GZMXj3JGh2TtX@AD`3iF7^o({I&diTdHh1e}BH5KnP6oX`d0o zc@h75&$$bA@XCeTGuq!EWq9>fDLF73N|kNj$1d}Z~7KqL^E+r<;~VUe9lsI#ZaPfhWL%}1~-KcVp&lY_I|AA+`7iwth3rrdS%@eO<+?mtxGMP)$i9~spQ6Puq7?@~Y@aWo) zmu$O$J%sAra^;SO#DS8fU`VbWGY%g341-#EkkdGL4Ld4^KIgoi_P5591ioUsJ?1e7 zHy4G33ksKjgK_zQk5?Qv<0V1P&i1!KcocF7{q_NE(}%}j36p#vp=v~EkG)1Agb~uEdx12hGxt92);==i%}f&mnua1UENFah4oK#*P0ReI zAkAKjUL|L8XbU-gA8p?M{`~1kpccYIT7y0yZ+fFR{zqQVD`oBqKxIQ%diea=Qk9tA zHW1P zJU6pE`lc1ciOx0KITGgx`P`7nFh(@haG-V*p50@qD}%hmC;`YI%~+0vzJ`U(qS8$* zzwT7+cM6?l=DG3!!REZ#X-~7trmr7(>b3I_cGPj6mH<8%oF#O-o?sZ2di3qwJBT&V zB)`aZJu-_CxqL(DRw02irf9tJ1B?6DE2Gl?u3at_)P}M=b7*OtLw729or6bc;S8jh zb;w1+VAq%b)Mj%KdEgZQMfo!?z6-CU4=1GBj z3U2xHRqVeot^}~_#2&)!(1Um;HnF8Xme(_{sB06Ea0YOVHidOt<?95dOc7_s>TIeU@X!+owZlnaHWYN0NF6o8 zX?ePCH;@?ZB=>Sw#L}r^#Z)EEfM1_@oN}^%ZpALD*bZgtmZ-HIUG2L`z-GuWIT${J zD&3Xu7ly1`Kv%Q#7XhHAHl4AG=cL3xj=s1`<#= zzdmR*%#xWqi4bgCvu#<~XzJ%vZ_1+wsnjA{1Bvw9@@vB|wajoYh@3J<`R=tiSA=$3 zQYTNV(<5xwD5(~~zrd;MHBlM1xN_1&#LhP^TWJ+5nj$r9S({sPJurE;CX~bjV2{az zC#{)qi4}mBaG2o}+sP%(A|F`au?F{yQYSW4DjxtjRzu3!>*sjrrGyiW^BBiy7|Z7; z(nu=iG*=u_D5ux1`Wh0y@hk|N*H_uBnORhcB;sQ`w+6_!RL@!22k+iAqEe+4j+%QE zf`td#^ONIfdlsdv7IiAInP}}FY zy2=%DW?yOu>Wmc)9m_j;Tg(HnJ^Ga>ZYbD&s3qbzX+Mmj1wuf7dp~vHQUbvoi z0h8QRAlqm+6Ur zgMec9MGVz2$iue?7zvMaRUg~sF*KFWMWle9fsSb2)2}-C`!f&fR}orx;RNo8AMT?c z?chYn-)icDTS2H`a?6E}2jFjr_&as7&0=-WVlSbK@#|IV#tfqRP+$kGhDsD0CO z?3tj5*yYY&$B334c`NUuP-*ynJWUtr266PN`>nmw5{7#Efh?MR|E$e=kDvGA=>dOG zzZ&uu96wg_GQl#EGAb<;JPBuhm>yEaLi6!dZSMz^GEu=g=1?3jh~flC=->w~YT^?| zm~f%#n?9`Ij&0y1UvWwL2wK?s)QeNIHHa3%l$9-MP{N{N#mpn4*g#Esij8lot)gxu z5Oz27kpDZ|Y`F<-ocD}{-;@X*c4xkmy6vzE4f6zz;GKR%jf9vTWvF@RPT9mwb1+XM zd(nH$tB@+)Lk%g9(*}#w>-Tmf>ZB4YY!w#2zHviFJAO?odD~$#Y5;8ylu!A2Jayet zEo(9+VZLo}>NK6bn+R3NA=R0-wgD?ozlra4!qc4hJCMdnelrDE-BGpr{NM_bh7-{_ zN*)>wiC!JgEtEZu6MygHsiG)*c23UNFuFDE3|Bm~G&ZF41F=D6iG=h0eXv97U_-#t zn3etd2Dyl!KBm7l#w4MIC+qqs7f#G&AzwX1&hSWW%ZkN!;2HlB;y8tXZuWv)op4G(bc`a!sU`!q7ewM=9 zdtM}o?AMduW7x z#d+adIOrJ|=ST@1E6=cYGz8#;7^u0C&WEg`G~cgN103?kQk`@qKc((TzMPw!@hkyV zee(_4QB&J&B5f|&Y-DlSH9S+n%P4y}$E`mCNNLPG;B`<=<|4l)+Ljg?eyVxppmJRQ z^z<_ou&@euHRrgTWgx}F+uw*5&Vnu~GENc#P1MVLa|Z5VBcGgoydBRO!aTr&;C$hf zpKDu^(0o0PpO#c|$DD_q*9`H~++|^$mFKd<9f?8(@nn2sDqdUcncT%*H`B_=PTlb@0{x3lC>Dfj2;f9GJ@KcJQrAwZrSXd=vxOHAFANdUn#|DY z)Q^c8VJfI7+DH-NG?y&kxthmWl{DgW0YR)5=%=-p{5cCEx796x^2Oe4v>nf6N*0_; ztUg0a45M%xn&<1a7T>(}a{_)Usn@K8hb_0ady81fi;y?s;lr*0J^D0|gWTI^<``_; zOTqHKol6O983}{|K=&*8X-oQs^YIuNtJf$VaU&0G?=EZ^?Z_Bj@G=>3=KG{Ae0d4> z@u;*4bW?a+%2R!)?X+O<&I6pOnyShX+6|fJk@HO2i) zGQ$P++UQk5Ia(>`(_3Tv2hHo(%3go;pqiN2Ge*t8=^o}a-143?%pgtfixaq`Rohz3 zu;T^_YC&sH#qn79ZD$<@(R+~%iWry8Xkxp_8hxmNrbA! zY^V|7#)Smh@LbWng}>KGpzU=Izl%b&mSgi{SYTCPM*3%RW$sE_Cb4V-qonY*b=?M} zTg$m=A8bEh@X!EgjYeEc-EiZ1mt@TxZi1xqrq5~+{fKE7VmU)ugp*R32`5tBmL!5t z_a(p;oi(LSsqW#ysh0Af_>`9q`k2WjKmtx^b|=RC1GDiyz=QYCDMZn1^xc`jrv=&i zrCLLq#|ZqoHXrKqqAAfhL&`mB4Z<5^Cl#>DCI|X`B;{*XosNe>8_hNmu3w$R!+Z6Wp0f3y26PM zc#=2+WGF$tr-G7f22hW@dE($rqb%3g05&m;wY~dhMdS$fOuS4R8acay813KyT$b@F z;Y2;HwlXWS1_+~;DW9EI_;ftN_QkDNAG9CU?0La@g=nE+5!L`gGDg2xQ8msT2CAc2 zRlMvJ6!dN8=FK&2qzy?l5nipV#s_R$fV)x!UWKkS2O%w85(lkTz?Jh>iITMbR~9hd z&`~b|zK2@&>B>cjEajsf>E_%l3SxvHrrPj;ypippEnCWDqoIRof{i)0&*2VoCWb-h zu&ihUwr`V{FAn(qxpLLiGZOIGgos&#B)adZ#eBd08&bSTJtmdmj(7)O-=(zmD-RbJ z@yxPa?RBK`2Sd@Eb0p%R8yGc$bC3I_@PinC8QhXJnxt>2mcdil0{wolZ_b6Vkd8&c z6E6H5(`MbyCFL+-^;nFcMA%m36U?>D4;c03*56Uv zu9cnQw$;!}#ol3T4lovXczVr(8X)~({qfJ~ZUh%!!3CumOxx5w=2n4hUONW!;$Ni zwY3l+U}GD#ldY_9HwV}6R&w87;)wxnz|15hUxW_TlhXGnw?YHX55&s59qW`-$S z7nF~GZ!_c+FHzJM=dIN2#Ke0IMpTz{Y3p;ns8**ELl~($-NQBziS%*TAPERW0MT!a zi`D@`NgA9(=j9IsXVC9)@F_*Iq+s{BST)sc!4uXfAHrS=ZVf$vW=`0!C61w>*(*nFY-gdbdr)yO9Ljv50L3==?X@%1s;Cz1^u5 z4Zyt3k{9ch>cU&&_qc_7F{)HgnO{uW!zPh-F$=|hM5rA_o7C}yRFVGx6nn*W8PRSl zG610}i>>{dP?#KD>IFRZXqtTlC3#IXQ!wwv)wA~Li0$VzJ44!hvSx*KJfTr%4;7`1 z8b;t~I^kw^ZWt57&HU{|W7})-?p?4FM{g?Q>$MuONKT#akwrpMw$vP)%I&?5Oq>$? zsaHB2plU#|OifMq1dn$rKPbp7fun6+S(m)xm7 zNX0;}*OPQuswBa0@Qxv9x3d$Go1k)zQ;_Jo6x#KGUMAZPACS`!7ek!A109Uw7$RSwCe%u$v_1oVyGSj=3%BBFbsJE$y;ZDsj@wJ zc#R1h#DqlrlqMrl{IPE5$|;zI5Wcm}O9GUUdYAnUHT(h-k5ZZ`i)r8?Kpb-x zD*j?}AA1rn4edS!6#hV%X2QN3!1&brtD~y`5AghJG6=w0(mnu^^`FwRD()66IQsol z|9cTKPIw6Qh$fFj%|e@4O!6ljc)C+~(I~@h(ZGh1}v~RAqoWl$HUKbonfmET(4Kpq$D1M4P(rV_tjCr3>eys} znHmFZj%@~jd1xH~&?b8dvjQIf^8gsK4KpqBz5R?b61}|ZP5wKZSL}*{4a5v_noDsg z945;QKuZAh7bjF@MH}pW<>qVgNX|TW>3p$OUCXU)uR({xDGeYEH3ENC#m9@61--M58+}LTsu{oiV(yI4z-Yh7B#Dw*$ z1T{?-Kke+{n|Eaxu-F$cn3s8!_OI`N06X8}n8<6a;tHuq4^t%Bx|9KTy5BB6kZO~F z0avQ-f%EZkZRg{WKl zBjPosC|6!O^OUs|yY9Tlereh7KWP%naD#z&8*WbdXrO!B|76lGdUf;c)}EU@0CeBU z)Gv7e6kMakR@yylqpG9g47|fNv(5k#qY3gdcilr|sBAk_-ERAi7P7JR@67x zL>}sMYg^#BN~$I1z67YLIqII`HeDes0bAgx0q{h~w0yt7I8|L{fcqufAmYm`vrN* zF`-8z?!L@CUfl^r;f4c@Gu$V=E}dw~cR>K3et-UW81O#iX<#y}M?=2<6$yH3(hWWC zH)(D@;sN~wRv&YLUY7p1?GK%KiH4uxKc2`YINCos59N+ypjyLFExlNf=slYW-?GJ8 zIa4#dS?F`svgQI&m4!8$^Rg zfO73$ig&or=r^FE<*$}x%*_jgY0l6sZRDJ%+qtSlA8{K5un7LsK0+AbyntAxYIokQ&;Zy`T3FqLzatO$Y;Fh! zO2L1R1K>7ur}YU!Lxvqw?h*IO>ihHOVu1?=)7HpS<9iC{dO#63 zzp<^J4sUfpZd8Suu3twjEou? zjGYeQWHZ8b+mWv6xUN6qT+hguh{^I|6=hul#4_2ev9HZd%{LFqTnkqD9Ju&-FGguCulyr8~}IpEn}7EOpkss02V~P>6y~DM_rN( zkU=Vt%hfF0kQ${P&rRA?+;l&vM*aJ;oSl>eP=@nQdMRtFb+cd`i6mwJAYV#Lz^xs}? ztyRRN=1FQo;^Kt<6!YZU3>V{XU@&okzW{e8o7hWP=ws{bY?rif#>pns>Mi-UsYW9iW08hU**ST4YzHT11gfXLF?neUv{N^TlYgy1a z#yKmJnLv@}YO4m!^uMM@j~GdN8UPnmXP?cNo!qn#ZEjw5s}CX#fa~Oawe4l9%Kk_! zvnb6_y38I&Y-pcSKG~{dftdj8!u=jMs{DI+HlOGz%N$*oHu4f0qck0$7A)mrIm&Gm z{KHkOx&k|Ty8jaUzRz6I059z}89*B?NC4>wa9MU#z-ALZg4?~=SGcsjn8l@Xb`ind ztb4h_+GDXlYVSI0MPg2HwHi=SCXFKDR>0QviLGJTbKk& z_jOq-t|I{UfsJwqcxtc@B*lA0-h$I`+GyaT}faLLlH$Z4-ClHl8u=-h6aLQ3TZm=kP5#UsCF?Pax>D^8C1T7 zHEdzAlxtJD#*R>u(HxDK$K>&G&DXlY7r9eVZqYZdME%YHz;*{9-Ay}g zUq+NlKM#P@7Oo-^XLbk~_DjCm*#*u@wVo0l-NdsNAeVMruV(;+H2`$$GhpaVs6PR~nq52o;{gDyq`M>iY?ML43bMsz(8M0kmQBk%0PW=TyC3aPjz@h1^2t$nLg z&f(tCFh-MvYdvoRzdwbbnWvZ<$J2l91pvDTSr98EE068DBS&!1%}>(;PF??p!^P4i zB2o=v9xS;TH%s|#n>b?ESb@YngD`wNDJ;W@g7#0nYBi~EZ}}%j2ddX%!<_z^)Gih- zcHT+W#-9J_ZC;B6Vx$l;ApegOTACX|qzGV>tEm?h$Q4%HVeZm*APnO5(4bz)*X(pRibV^<)v$^V3JQ00cf*l!Z}?~%)tgp+dwR$E)w-A z6Wivbw<+?x!V^myS3IUB53t*uVKKj5u=9Zp_S|8=zcT=|B;Gv^fVkzFdJfiIUPcm} z^z>?-_mV;KlIl<{`WfieCKh#Oj}8g_(skM{jd@n1inNz2U1k8vK6^I+_GMqV|IoW7 zfCbTXAB1El)E|rwg94_PM*G=YDIb%IEq#oi4?1@fAFD^E&Y{O- zKR5t}+GJD%tO>OK^ljymZ~{u;%p7SnoI<7U4WU$*V^KBP4%cQ%MFs^XV^$avo#mSU z_jv!@7YNt|EU4|jY9EBsG@-#zznfVWxopoOB8Y_n1Njm`Jj)_ObQzA;nv-=2jZXo@R zr^S&}78mMAEKsI5Fu(l(2w4X6#?@!>5ITSN%2liIJ^$Wm&0=ZtJsJk+RDyOqTbCT0 zgsc@Q)TNty+L8;HaApIfQj~|1HnO2AFul~dPAfg$Hca4R>7cDmy0RU&xVK$zT;vq5 z12mAOp2tw0PYUMpV&S5|D8k)(T*J;+?LGr6gi}?cX6*oLOMPF8S9L_+05UKkM-R-? zn)zE=7pe2I1z!Fl!d#xIzK6VVchx_L+OLUg!2q~u+vLSahZ(E`pr&l5vksB8phoIi z-j)X33?gQ=Cx{pRLzWK9i~|n(+3st-+~W+8OqH8q6l^cFHj15L%gnRWJbsi70MHyo z5x5m?6sip)YSNKYQHFpT_{{*=9OZiJy9@vz4lQa;q5BAm$}aI0KNtYX4yTznDV0;& z;ovhxLk)uq{#CuO&F})B&n;$#EggXQzL`bbi@>DrW}ebG|0}SN!%6G(bof{70@IwL z&GC*)+%quvvf1BZ`*AvHh2220i25(w3(Czs8sJHDPilVo`tQJ~E(-NPdl+NdGS_dj`0p1%Pv*0#c`@0g>a!V4e3N0)r?V~;;r0qt4 zft9vIT{3JG8)SCuNj0J>f@Z_6ySuMjezv%H@5J9pt-6w^U&PNB9WU6wP&cRa@6@qt zG+9SPJjyg#^d*43BZivvvfAz}Qig-CJZ=o<^`2Y-nL}q3|M1FGypbVIO2A~0u`+F0e zIk55H|5IWnr3fbF8@jNMYS%7Ut_JhDnGrWP{f4$003y7jD1cbmKlA6Bz+xn_=;5Eb z9h&4l6)U}}{-7u9U*8N{27o`Mgy8=3Ls6gqq}}q-oc@lS|GrK5$>CB;9Zr$=D!2Lm fe1E<_Km7S$PdEA1%wMi#00000NkvXXu0mjfLSL+Y literal 0 HcmV?d00001 diff --git a/src/data/builtin/gamecontrollerdb.txt b/src/data/builtin/gamecontrollerdb.txt new file mode 100644 index 0000000..fe21dd6 --- /dev/null +++ b/src/data/builtin/gamecontrollerdb.txt @@ -0,0 +1,1741 @@ +# Game Controller DB for SDL in 2.0.16 format +# Source: https://github.com/gabomdq/SDL_GameControllerDB + +# Windows +03000000300f00000a01000000000000,3 In 1 Conversion Box,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b8,x:b3,y:b0,platform:Windows, +03000000fa2d00000100000000000000,3dRudder Foot Motion Controller,leftx:a0,lefty:a1,rightx:a5,righty:a2,platform:Windows, +03000000d0160000040d000000000000,4Play Adapter,a:b1,b:b3,back:b4,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,leftshoulder:b6,leftstick:b14,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b15,righttrigger:b9,rightx:a3,righty:a4,start:b5,x:b0,y:b2,platform:Windows, +03000000d0160000050d000000000000,4Play Adapter,a:b1,b:b3,back:b4,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,leftshoulder:b6,leftstick:b14,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b15,righttrigger:b9,rightx:a3,righty:a4,start:b5,x:b0,y:b2,platform:Windows, +03000000d0160000060d000000000000,4Play Adapter,a:b1,b:b3,back:b4,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,leftshoulder:b6,leftstick:b14,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b15,righttrigger:b9,rightx:a3,righty:a4,start:b5,x:b0,y:b2,platform:Windows, +03000000d0160000070d000000000000,4Play Adapter,a:b1,b:b3,back:b4,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,leftshoulder:b6,leftstick:b14,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b15,righttrigger:b9,rightx:a3,righty:a4,start:b5,x:b0,y:b2,platform:Windows, +03000000d0160000600a000000000000,4Play Adapter,a:b1,b:b3,back:b4,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,leftshoulder:b6,leftstick:b14,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b15,righttrigger:b9,rightx:a3,righty:a4,start:b5,x:b0,y:b2,platform:Windows, +03000000c82d00000031000000000000,8BitDo Adapter,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows, +03000000c82d00000531000000000000,8BitDo Adapter 2,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows, +03000000c82d00000951000000000000,8BitDo Dogbone,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a2,rightx:a3,righty:a5,start:b11,platform:Windows, +03000000008000000210000000000000,8BitDo F30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows, +030000003512000011ab000000000000,8BitDo F30 Arcade Joystick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000c82d00001028000000000000,8BitDo F30 Arcade Joystick,a:b0,b:b1,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Windows, +03000000c82d000011ab000000000000,8BitDo F30 Arcade Joystick,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows, +03000000801000000900000000000000,8BitDo F30 Arcade Stick,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows, +03000000c82d00001038000000000000,8BitDo F30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00000090000000000000,8BitDo FC30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00001151000000000000,8BitDo Lite SE,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00000151000000000000,8BitDo M30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a2,rightshoulder:b6,righttrigger:b7,rightx:a3,righty:a5,start:b11,x:b3,y:b4,platform:Windows, +03000000c82d00000650000000000000,8BitDo M30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b8,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,start:b11,x:b3,y:b4,platform:Windows, +03000000c82d00005106000000000000,8BitDo M30,a:b0,b:b1,back:b10,dpdown:+a2,dpleft:-a0,dpright:+a0,dpup:-a2,guide:b2,leftshoulder:b8,lefttrigger:b9,rightshoulder:b6,righttrigger:b7,start:b11,x:b3,y:b4,platform:Windows, +03000000c82d00000310000000000000,8BitDo N30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Windows, +03000000c82d00000451000000000000,8BitDo N30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a2,rightx:a3,righty:a5,start:b11,platform:Windows, +03000000c82d00002028000000000000,8BitDo N30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00008010000000000000,8BitDo N30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Windows, +03000000c82d0000e002000000000000,8BitDo N30,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,start:b6,platform:Windows, +03000000c82d00000190000000000000,8BitDo N30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00001590000000000000,8BitDo N30 Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00006528000000000000,8BitDo N30 Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00000290000000000000,8BitDo N64,+rightx:b9,+righty:b3,-rightx:b4,-righty:b8,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,platform:Windows, +03000000c82d00003038000000000000,8BitDo N64,+rightx:b9,+righty:b3,-rightx:b4,-righty:b8,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,platform:Windows, +030000003512000012ab000000000000,8BitDo NES30,a:b2,b:b1,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b7,x:b3,y:b0,platform:Windows, +03000000c82d000012ab000000000000,8BitDo NES30,a:b1,b:b0,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows, +03000000022000000090000000000000,8BitDo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows, +03000000203800000900000000000000,8BitDo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00002038000000000000,8BitDo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00000751000000000000,8BitDo P30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a2,rightshoulder:b7,righttrigger:b9,rightx:a3,righty:a5,start:b11,x:b3,y:b4,platform:Windows, +03000000c82d00000851000000000000,8BitDo P30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a2,rightshoulder:b7,righttrigger:b9,rightx:a3,righty:a5,start:b11,x:b3,y:b4,platform:Windows, +03000000c82d00000360000000000000,8BitDo Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00000361000000000000,8BitDo Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00000660000000000000,8BitDo Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00000131000000000000,8BitDo Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00000231000000000000,8BitDo Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00000331000000000000,8BitDo Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00000431000000000000,8BitDo Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00002867000000000000,8BitDo S30,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,lefttrigger:b9,leftx:a0,lefty:a2,rightshoulder:b6,righttrigger:b7,rightx:a3,righty:a5,start:b10,x:b3,y:b4,platform:Windows, +03000000c82d00000130000000000000,8BitDo SF30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00000060000000000000,8BitDo SF30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00000061000000000000,8BitDo SF30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows, +03000000102800000900000000000000,8BitDo SFC30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d000021ab000000000000,8BitDo SFC30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00003028000000000000,8BitDo SFC30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows, +030000003512000020ab000000000000,8BitDo SN30,a:b0,b:b1,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00000030000000000000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00000351000000000000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a2,rightshoulder:b7,rightx:a3,righty:a5,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00001290000000000000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d000020ab000000000000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00004028000000000000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00006228000000000000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00000021000000000000,8BitDo SN30 Pro,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows, +03000000c82d00000160000000000000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00000161000000000000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00000121000000000000,8BitDo SN30 Pro for Android,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows, +03000000c82d00000260000000000000,8BitDo SN30 Pro+,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00000261000000000000,8BitDo SN30 Pro+,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows, +03000000a00500003232000000000000,8BitDo Zero,a:b0,b:b1,back:b10,dpdown:+a2,dpleft:-a0,dpright:+a0,dpup:-a2,leftshoulder:b6,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Windows, +03000000c82d00001890000000000000,8BitDo Zero 2,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Windows, +03000000c82d00003032000000000000,8BitDo Zero 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Windows, +030000008f0e00001200000000000000,Acme GA02,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b2,y:b3,platform:Windows, +03000000c01100000355000000000000,Acrux,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000fa190000f0ff000000000000,Acteck AGJ 3200,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +03000000d1180000402c000000000000,ADT1,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a3,rightx:a2,righty:a5,x:b3,y:b4,platform:Windows, +03000000341a00003608000000000000,Afterglow PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000006f0e00000263000000000000,Afterglow PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000006f0e00001101000000000000,Afterglow PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000006f0e00001401000000000000,Afterglow PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000006f0e00001402000000000000,Afterglow PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000006f0e00001901000000000000,Afterglow PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000006f0e00001a01000000000000,Afterglow PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000006f0e00001301000000000000,Afterglow Xbox Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000006f0e00001302000000000000,Afterglow Xbox Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000006f0e00001304000000000000,Afterglow Xbox Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000006f0e00001413000000000000,Afterglow Xbox Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000006f0e00003901000000000000,Afterglow Xbox Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000ab1200000103000000000000,Afterglow Xbox Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000ad1b000000f9000000000000,Afterglow Xbox Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000100000008200000000000000,Akishop Customs PS360,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows, +030000007c1800000006000000000000,Alienware Dual Compatible PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b3,platform:Windows, +03000000491900001904000000000000,Amazon Luna Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,misc1:b9,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b7,x:b2,y:b3,platform:Windows, +03000000710100001904000000000000,Amazon Luna Controller,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b11,leftshoulder:b5,leftstick:b8,leftx:a0,lefty:a1,misc1:b9,rightshoulder:b4,rightstick:b7,rightx:a3,righty:a4,start:b6,x:b3,y:b2,platform:Windows, +03000000830500000160000000000000,Arcade,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b3,x:b4,y:b4,platform:Windows, +03000000120c0000100e000000000000,Armor 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000490b00004406000000000000,ASCII Seamic Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b2,start:b9,x:b3,y:b4,platform:Windows, +03000000869800002500000000000000,Astro C40 TR PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000a30c00002700000000000000,Astro City Mini,a:b2,b:b1,back:b8,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,rightshoulder:b4,righttrigger:b5,start:b9,x:b3,y:b0,platform:Windows, +03000000a30c00002800000000000000,Astro City Mini,a:b2,b:b1,back:b8,leftx:a3,lefty:a4,rightshoulder:b4,righttrigger:b5,start:b9,x:b3,y:b0,platform:Windows, +03000000e4150000103f000000000000,Batarang,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000d6200000e557000000000000,Batarang PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000c01100001352000000000000,Battalife Joystick,a:b6,b:b7,back:b2,leftshoulder:b0,leftx:a0,lefty:a1,rightshoulder:b1,start:b3,x:b4,y:b5,platform:Windows, +030000006f0e00003201000000000000,Battlefield 4 PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000ad1b000001f9000000000000,BB 070,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000d62000002a79000000000000,BDA PS4 Fightpad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000bc2000005250000000000000,Beitong G3,a:b0,b:b1,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b11,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b5,righttrigger:b9,rightx:a3,righty:a4,start:b15,x:b3,y:b4,platform:Windows, +030000000d0500000208000000000000,Belkin Nostromo N40,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,rightx:a5,righty:a2,start:b9,x:b2,y:b3,platform:Windows, +03000000bc2000006012000000000000,Betop 2126F,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +03000000bc2000000055000000000000,Betop BFM,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows, +03000000bc2000006312000000000000,Betop Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +03000000bc2000006321000000000000,Betop Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +03000000bc2000006412000000000000,Betop Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +03000000c01100000555000000000000,Betop Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +03000000c01100000655000000000000,Betop Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +03000000790000000700000000000000,Betop Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b3,y:b0,platform:Windows, +03000000808300000300000000000000,Betop Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b3,y:b0,platform:Windows, +030000006f0e00006401000000000000,BF One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a2,righty:a5,start:b7,x:b2,y:b3,platform:Windows, +03000000300f00000202000000000000,Bigben,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a5,righty:a2,start:b7,x:b2,y:b3,platform:Windows, +030000006b1400000209000000000000,Bigben,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000006b1400000055000000000000,Bigben PS3 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, +030000006b1400000103000000000000,Bigben PS3 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Windows, +03000000120c0000200e000000000000,Brook Mars PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000120c0000210e000000000000,Brook Mars PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000120c0000f10e000000000000,Brook PS2 Adapter,a:b1,b:b2,back:b13,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000120c0000310c000000000000,Brook Super Converter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,start:b9,x:b3,y:b0,platform:Windows, +03000000d81d00000b00000000000000,Buffalo BSGP1601 Series,a:b5,b:b3,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b9,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b13,x:b4,y:b2,platform:Windows, +030000005b1c00002400000000000000,Capcom Home Arcade Controller,a:b3,b:b4,back:b7,leftshoulder:b2,leftx:a0,lefty:a1,rightshoulder:b5,start:b6,x:b0,y:b1,platform:Windows, +030000005b1c00002500000000000000,Capcom Home Arcade Controller,a:b3,b:b4,back:b7,leftshoulder:b2,leftx:a0,lefty:a1,rightshoulder:b5,start:b6,x:b0,y:b1,platform:Windows, +030000006d04000042c2000000000000,ChillStream,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000e82000006058000000000000,Cideko AK08b,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +03000000457500000401000000000000,Cobra,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000000b0400003365000000000000,Competition Pro,a:b0,b:b1,back:b2,leftx:a0,lefty:a1,start:b3,platform:Windows, +030000004c050000c505000000000000,CronusMax Adapter,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000d814000007cd000000000000,Cthulhu,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000d8140000cefa000000000000,Cthulhu,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000260900008888000000000000,Cyber Gadget GameCube Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:a4,rightx:a2,righty:a3~,start:b7,x:b2,y:b3,platform:Windows, +030000003807000002cb000000000000,Cyborg,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000a306000022f6000000000000,Cyborg V.3 Rumble,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:+a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:-a3,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Windows, +03000000f806000000a3000000000000,DA Leader,a:b7,b:b6,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b0,leftstick:b8,lefttrigger:b1,leftx:a0,lefty:a1,rightshoulder:b2,rightstick:b9,righttrigger:b3,rightx:a2,righty:a3,start:b12,x:b4,y:b5,platform:Windows, +030000001a1c00000001000000000000,Datel Arcade Joystick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000451300000830000000000000,Defender Game Racer X7,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, +03000000791d00000103000000000000,Dual Box Wii,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +03000000c0160000e105000000000000,Dual Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Windows, +030000004f040000070f000000000000,Dual Power,a:b8,b:b9,back:b4,dpdown:b1,dpleft:b2,dpright:b3,dpup:b0,leftshoulder:b13,leftstick:b6,lefttrigger:b14,leftx:a0,lefty:a1,rightshoulder:b12,rightstick:b7,righttrigger:b15,start:b5,x:b10,y:b11,platform:Windows, +030000004f04000012b3000000000000,Dual Power 3,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Windows, +030000004f04000020b3000000000000,Dual Trigger,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Windows, +03000000bd12000002e0000000000000,Dual Vibration Joystick,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a3,righty:a2,start:b11,x:b3,y:b0,platform:Windows, +03000000ff1100003133000000000000,DualForce,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b1,platform:Windows, +030000008f0e00000910000000000000,DualShock 2,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a3,righty:a2,start:b11,x:b3,y:b0,platform:Windows, +03000000317300000100000000000000,DualShock 3,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows, +030000006f0e00003001000000000000,EA Sports PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000fc0400000250000000000000,Easy Grip,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b2,start:b9,x:b3,y:b4,platform:Windows, +030000006e0500000a20000000000000,Elecom DUX60 MMO,a:b2,b:b3,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,leftstick:b14,lefttrigger:b12,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b15,righttrigger:b13,rightx:a3,righty:a4,start:b20,x:b0,y:b1,platform:Windows, +03000000b80500000410000000000000,Elecom Gamepad,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b1,platform:Windows, +03000000b80500000610000000000000,Elecom Gamepad,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b1,platform:Windows, +030000006e0500000520000000000000,Elecom P301U PlayStation Controller Adapter,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b0,y:b1,platform:Windows, +03000000411200004450000000000000,Elecom U1012,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b0,y:b1,platform:Windows, +030000006e0500000320000000000000,Elecom U3613M,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b0,y:b1,platform:Windows, +030000006e0500000e20000000000000,Elecom U3912T,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b0,y:b1,platform:Windows, +030000006e0500000f20000000000000,Elecom U4013S,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b0,y:b1,platform:Windows, +030000006e0500001320000000000000,Elecom U4113,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000006e0500001020000000000000,Elecom U4113S,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,start:b11,x:b0,y:b1,platform:Windows, +030000006e0500000720000000000000,Elecom W01U,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b1,platform:Windows, +030000007d0400000640000000000000,Eliminator AfterShock,a:b1,b:b2,back:b9,dpdown:+a3,dpleft:-a5,dpright:+a5,dpup:-a3,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a4,righty:a2,start:b8,x:b0,y:b3,platform:Windows, +03000000120c0000f61c000000000000,Elite,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000430b00000300000000000000,EMS Production PS2 Adapter,a:b2,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Windows, +03000000242f000000b7000000000000,ESM 9110,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Windows, +03000000101c0000181c000000000000,Essential,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b4,leftx:a1,lefty:a0,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Windows, +030000008f0e00000f31000000000000,EXEQ,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Windows, +03000000341a00000108000000000000,EXEQ RF Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, +030000006f0e00008401000000000000,Faceoff Deluxe Nintendo Switch Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000006f0e00008001000000000000,Faceoff Pro Nintendo Switch Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000021000000090000000000000,FC30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,leftstick:b13,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b9,rightstick:b14,righttrigger:b7,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Windows, +0300000011040000c600000000000000,FC801,a:b0,b:b1,back:b6,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,start:b7,x:b2,y:b3,platform:Windows, +03000000852100000201000000000000,FF GP1,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000ad1b000028f0000000000000,Fightpad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b11,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000ad1b00002ef0000000000000,Fightpad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000ad1b000038f0000000000000,Fightpad TE,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b8,rightshoulder:b5,righttrigger:b9,start:b7,x:b2,y:b3,platform:Windows, +03000000f806000001a3000000000000,Firestorm,a:b9,b:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b0,leftstick:b10,lefttrigger:b1,leftx:a0,lefty:a1,rightshoulder:b2,rightstick:b11,righttrigger:b3,start:b12,x:b8,y:b4,platform:Windows, +03000000b50700000399000000000000,Firestorm 2,a:b2,b:b4,back:b10,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b8,righttrigger:b9,start:b11,x:b3,y:b5,platform:Windows, +03000000b50700001302000000000000,Firestorm D3,a:b0,b:b2,leftshoulder:b4,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,x:b1,y:b3,platform:Windows, +03000000b40400001024000000000000,Flydigi Apex,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows, +03000000151900004000000000000000,Flydigi Vader 2,a:b11,b:b10,back:b3,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b7,leftstick:b1,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b0,righttrigger:b4,rightx:a3,righty:a4,start:b2,x:b9,y:b8,platform:Windows, +03000000b40400001124000000000000,Flydigi Vader 2,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b12,lefttrigger:b8,leftx:a0,lefty:a1,paddle1:b4,paddle2:b5,paddle4:b17,rightshoulder:b7,rightstick:b13,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b2,y:b3,platform:Windows, +03000000b40400001224000000000000,Flydigi Vader 2 Pro,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b12,lefttrigger:a5,leftx:a0,lefty:a1,paddle1:b15,paddle2:b16,paddle3:b17,paddle4:b18,rightshoulder:b7,rightstick:b13,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Windows, +030000008305000000a0000000000000,G08XU,a:b0,b:b1,back:b4,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b5,x:b2,y:b3,platform:Windows, +0300000066f700000100000000000000,Game VIB Joystick,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,start:b11,x:b0,y:b1,platform:Windows, +03000000260900002625000000000000,GameCube Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b6,lefttrigger:a4,leftx:a0,lefty:a1,righttrigger:a5,rightx:a2,righty:a3,start:b7,x:b2,y:b3,platform:Windows, +03000000341a000005f7000000000000,GameCube Controller,a:b2,b:b3,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b1,y:b0,platform:Windows, +03000000430b00000500000000000000,GameCube Controller,a:b0,b:b2,dpdown:b10,dpleft:b8,dpright:b9,dpup:b11,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:a3,rightx:a5,righty:a2,start:b7,x:b1,y:b3,platform:Windows, +03000000790000004718000000000000,GameCube Controller,a:b1,b:b0,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b2,y:b3,platform:Windows, +03000000790000004618000000000000,GameCube Controller Adapter,a:b1,b:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b2,y:b3,platform:Windows, +030000008f0e00000d31000000000000,Gamepad 3 Turbo,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000ac0500003d03000000000000,GameSir G3,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows, +03000000ac0500005b05000000000000,GameSir G3w,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +03000000ac0500002d02000000000000,GameSir G4,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows, +03000000ac0500004d04000000000000,GameSir G4,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows, +030000004c0e00001035000000000000,Gamester,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Windows, +030000000d0f00001110000000000000,GameStick Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows, +0300000047530000616d000000000000,GameStop,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, +03000000c01100000140000000000000,GameStop PS4 Fun Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000b62500000100000000000000,Gametel GT004 01,a:b3,b:b0,dpdown:b10,dpleft:b9,dpright:b8,dpup:b11,leftshoulder:b4,rightshoulder:b5,start:b7,x:b1,y:b2,platform:Windows, +030000008f0e00001411000000000000,Gamo2 Divaller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000120c0000a857000000000000,Gator Claw,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000c9110000f055000000000000,GC100XF,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, +030000008305000009a0000000000000,Genius,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, +030000008305000031b0000000000000,Genius Maxfire Blaze 3,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, +03000000451300000010000000000000,Genius Maxfire Grandias 12,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, +030000005c1a00003330000000000000,Genius MaxFire Grandias 12V,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b2,y:b3,platform:Windows, +03000000300f00000b01000000000000,GGE909 Recoil,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Windows, +03000000f0250000c283000000000000,Gioteck PlayStation Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +03000000f025000021c1000000000000,Gioteck PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +03000000f0250000c383000000000000,Gioteck VX2 PlayStation Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +03000000f0250000c483000000000000,Gioteck VX2 PlayStation Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +030000004f04000026b3000000000000,GP XID,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +0300000079000000d418000000000000,GPD Win,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000c6240000025b000000000000,GPX,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000007d0400000840000000000000,Gravis Destroyer Tilt,+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b1,b:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,x:b0,y:b3,platform:Windows, +030000007d0400000540000000000000,Gravis Eliminator Pro,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows, +03000000280400000140000000000000,Gravis GamePad Pro,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a3,dpup:-a4,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows, +030000008f0e00000610000000000000,GreenAsia,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a5,righty:a2,start:b11,x:b3,y:b0,platform:Windows, +03000000ac0500006b05000000000000,GT2a,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows, +03000000341a00000302000000000000,Hama Scorpad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00004900000000000000,Hatsune Miku Sho PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000001008000001e1000000000000,Havit HV G60,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b3,y:b0,platform:Windows, +030000000d0f00000c00000000000000,HEXT,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000d81400000862000000000000,HitBox Edition Cthulhu,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b5,lefttrigger:b4,rightshoulder:b7,righttrigger:b6,start:b9,x:b0,y:b3,platform:Windows, +03000000632500002605000000000000,HJD X,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows, +030000000d0f00000a00000000000000,Hori DOA,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000000d0f00008500000000000000,Hori Fighting Commander 2016 PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00002500000000000000,Hori Fighting Commander 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00002d00000000000000,Hori Fighting Commander 3 Pro,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00005f00000000000000,Hori Fighting Commander 4 PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00005e00000000000000,Hori Fighting Commander 4 PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00008400000000000000,Hori Fighting Commander 5,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00005100000000000000,Hori Fighting Commander PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00008600000000000000,Hori Fighting Commander Xbox 360,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000000d0f0000ba00000000000000,Hori Fighting Commander Xbox 360,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000000d0f00008800000000000000,Hori Fighting Stick mini 4 (PS3),a:b1,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b8,x:b0,y:b3,platform:Windows, +030000000d0f00008700000000000000,Hori Fighting Stick mini 4 (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00001000000000000000,Hori Fightstick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00003200000000000000,Hori Fightstick 3W,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f0000c000000000000000,Hori Fightstick 4,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000000d0f00000d00000000000000,Hori Fightstick EX2,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Windows, +030000000d0f00003701000000000000,Hori Fightstick Mini,a:b1,b:b0,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a3,righty:a4,start:b7,x:b3,y:b2,platform:Windows, +030000000d0f00004000000000000000,Hori Fightstick Mini 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b5,lefttrigger:b4,rightshoulder:b7,righttrigger:b6,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00002100000000000000,Hori Fightstick V3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00002700000000000000,Hori Fightstick V3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f0000a000000000000000,Hori Grip TAC4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b13,x:b0,y:b3,platform:Windows, +030000000d0f0000a500000000000000,Hori Miku Project Diva X HD PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f0000a600000000000000,Hori Miku Project Diva X HD PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00000101000000000000,Hori Mini Hatsune Miku FT,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00005400000000000000,Hori Pad 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00000900000000000000,Hori Pad 3 Turbo,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00004d00000000000000,Hori Pad A,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00003801000000000000,Hori PC Engine Mini Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,start:b9,platform:Windows, +030000000d0f00009200000000000000,Hori Pokken Tournament DX Pro,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00002301000000000000,Hori PS4 Controller Light,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows, +030000000d0f00001100000000000000,Hori Real Arcade Pro 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,rightstick:b11,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00002600000000000000,Hori Real Arcade Pro 3P,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00004b00000000000000,Hori Real Arcade Pro 3W,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00006a00000000000000,Hori Real Arcade Pro 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00006b00000000000000,Hori Real Arcade Pro 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00008a00000000000000,Hori Real Arcade Pro 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00008b00000000000000,Hori Real Arcade Pro 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00006f00000000000000,Hori Real Arcade Pro 4 VLX,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00007000000000000000,Hori Real Arcade Pro 4 VLX,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,rightstick:b11,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00003d00000000000000,Hori Real Arcade Pro N3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b10,leftstick:b4,lefttrigger:b11,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b6,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f0000ae00000000000000,Hori Real Arcade Pro N4,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000000d0f00008c00000000000000,Hori Real Arcade Pro P4,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000000d0f0000aa00000000000000,Hori Real Arcade Pro S,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f0000d800000000000000,Hori Real Arcade Pro S,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Windows, +030000000d0f00002200000000000000,Hori Real Arcade Pro V3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00005b00000000000000,Hori Real Arcade Pro V4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00005c00000000000000,Hori Real Arcade Pro V4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f0000af00000000000000,Hori Real Arcade Pro VHS,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00001b00000000000000,Hori Real Arcade Pro VX,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000ad1b000002f5000000000000,Hori Real Arcade Pro VX,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b07,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b08,righttrigger:b11,rightx:a2,righty:a5,start:b6,x:b2,y:b3,platform:Windows, +030000000d0f00009c00000000000000,Hori TAC Pro,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f0000c900000000000000,Hori Taiko Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f0000c100000000000000,Horipad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00006400000000000000,Horipad 3TP,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00001300000000000000,Horipad 3W,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00005500000000000000,Horipad 4 FPS,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00006e00000000000000,Horipad 4 PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00006600000000000000,Horipad 4 PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00004200000000000000,Horipad A,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000ad1b000001f5000000000000,Horipad EXT2,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000000d0f0000ee00000000000000,Horipad Mini 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f00006700000000000000,Horipad One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000000d0f0000dc00000000000000,Horipad Switch,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000008f0e00001330000000000000,HuiJia SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b9,x:b3,y:b0,platform:Windows, +03000000790000004e95000000000000,Hyperkin N64 Controller Adapter,a:b1,b:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b7,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b5,rightx:a5,righty:a2,start:b9,platform:Windows, +03000000d81d00000e00000000000000,iBuffalo AC02 Arcade Joystick,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b2,rightstick:b11,righttrigger:b3,rightx:a2,righty:a5,start:b8,x:b4,y:b5,platform:Windows, +03000000d81d00000f00000000000000,iBuffalo BSGP1204 Series,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +03000000d81d00001000000000000000,iBuffalo BSGP1204P Series,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +030000005c0a00000285000000000000,iDroidCon,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b6,platform:Windows, +03000000696400006964000000000000,iDroidCon Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000b50700001403000000000000,Impact Black,a:b2,b:b3,back:b8,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Windows, +030000006f0e00002401000000000000,Injustice Fightstick PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows, +03000000830500005130000000000000,InterAct ActionPad,a:b0,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b7,rightshoulder:b5,righttrigger:b2,start:b9,x:b3,y:b4,platform:Windows, +03000000ef0500000300000000000000,InterAct AxisPad,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,start:b11,x:b0,y:b1,platform:Windows, +03000000fd0500000230000000000000,InterAct AxisPad,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a5,start:b11,x:b0,y:b1,platform:Windows, +03000000fd0500000030000000000000,Interact GoPad,a:b3,b:b4,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b5,x:b0,y:b1,platform:Windows, +03000000fd0500003902000000000000,InterAct Hammerhead,a:b3,b:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b2,lefttrigger:b8,rightshoulder:b7,rightstick:b5,righttrigger:b9,start:b10,x:b0,y:b1,platform:Windows, +03000000fd0500002a26000000000000,InterAct Hammerhead FX,a:b3,b:b4,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b0,y:b1,platform:Windows, +03000000fd0500002f26000000000000,InterAct Hammerhead FX,a:b4,b:b5,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b1,y:b2,platform:Windows, +03000000fd0500005302000000000000,InterAct ProPad,a:b3,b:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b5,x:b0,y:b1,platform:Windows, +03000000ac0500002c02000000000000,Ipega Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,leftstick:b13,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b9,rightstick:b14,righttrigger:b7,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows, +03000000491900000204000000000000,Ipega PG9023,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows, +03000000491900000304000000000000,Ipega PG9087,+righty:+a5,-righty:-a4,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,start:b11,x:b3,y:b4,platform:Windows, +030000007e0500000620000000000000,Joy-Con (L),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b13,leftshoulder:b4,leftstick:b10,rightshoulder:b5,start:b8,x:b2,y:b3,platform:Windows, +030000007e0500000720000000000000,Joy-Con (R),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b12,leftshoulder:b4,leftstick:b11,rightshoulder:b5,start:b9,x:b2,y:b3,platform:Windows, +03000000250900000017000000000000,Joypad Adapter,a:b2,b:b1,back:b9,leftshoulder:b5,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b6,start:b8,x:b3,y:b0,platform:Windows, +03000000bd12000003c0000000000000,Joypad Alpha Shock,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000ff1100004033000000000000,JPD FFB,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a2,start:b15,x:b3,y:b0,platform:Windows, +03000000242f00002d00000000000000,JYS Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +03000000242f00008a00000000000000,JYS Adapter,a:b1,b:b4,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b0,y:b3,platform:Windows, +03000000c4100000c082000000000000,KADE,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000828200000180000000000000,Keio,a:b4,b:b5,back:b8,leftshoulder:b2,lefttrigger:b3,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,start:b9,x:b0,y:b1,platform:Windows, +03000000790000000200000000000000,King PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b3,y:b0,platform:Windows, +03000000bd12000001e0000000000000,Leadership,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Windows, +030000006f0e00000103000000000000,Logic3,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000006f0e00000104000000000000,Logic3,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000008f0e00001300000000000000,Logic3,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +030000006d040000d1ca000000000000,Logitech ChillStream,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000006d040000d2ca000000000000,Logitech Cordless Precision,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000006d04000011c2000000000000,Logitech Cordless Wingman,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b5,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b2,righttrigger:b7,rightx:a3,righty:a4,x:b4,platform:Windows, +030000006d04000016c2000000000000,Logitech Dual Action,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000006d0400001dc2000000000000,Logitech F310,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000006d04000018c2000000000000,Logitech F510,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000006d0400001ec2000000000000,Logitech F510,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000006d04000019c2000000000000,Logitech F710,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000006d0400001fc2000000000000,Logitech F710,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000006d0400001ac2000000000000,Logitech Precision,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows, +030000006d04000009c2000000000000,Logitech WingMan,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b2,start:b8,x:b3,y:b4,platform:Windows, +030000006d0400000bc2000000000000,Logitech WingMan Action Pad,a:b0,b:b1,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b8,lefttrigger:a5~,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b5,righttrigger:a2~,start:b8,x:b3,y:b4,platform:Windows, +030000006d0400000ac2000000000000,Logitech WingMan RumblePad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b2,rightx:a3,righty:a4,x:b3,y:b4,platform:Windows, +03000000380700005645000000000000,Lynx,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000222200006000000000000000,Macally,a:b1,b:b2,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b33,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000380700003888000000000000,Mad Catz Arcade Fightstick TE S Plus PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000380700008532000000000000,Mad Catz Arcade Fightstick TE S PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000380700006352000000000000,Mad Catz CTRLR,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000380700006652000000000000,Mad Catz CTRLR,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Windows, +03000000380700005032000000000000,Mad Catz Fightpad Pro PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000380700005082000000000000,Mad Catz Fightpad Pro PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000380700008031000000000000,Mad Catz FightStick Alpha PS3 ,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000003807000038b7000000000000,Mad Catz Fightstick TE,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b8,rightshoulder:b5,righttrigger:b9,start:b7,x:b2,y:b3,platform:Windows, +03000000380700008433000000000000,Mad Catz Fightstick TE S PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000380700008483000000000000,Mad Catz Fightstick TE S PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000380700008134000000000000,Mad Catz Fightstick TE2 PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b7,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b4,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000380700008184000000000000,Mad Catz Fightstick TE2 PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b5,leftstick:b10,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000380700006252000000000000,Mad Catz Micro CTRLR,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Windows, +03000000380700008232000000000000,Mad Catz PlayStation Brawlpad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000380700008731000000000000,Mad Catz PlayStation Fightstick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000003807000056a8000000000000,Mad Catz PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000380700001888000000000000,Mad Catz SFIV Fightstick PS3,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b5,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b4,righttrigger:b6,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, +03000000380700008081000000000000,Mad Catz SFV Arcade Fightstick Alpha PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000380700001847000000000000,Mad Catz Street Fighter 4 Xbox 360 FightStick,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b8,rightshoulder:b5,righttrigger:b9,start:b7,x:b2,y:b3,platform:Windows, +03000000380700008034000000000000,Mad Catz TE2 PS3 Fightstick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000380700008084000000000000,Mad Catz TE2 PS4 Fightstick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000002a0600001024000000000000,Matricom,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b2,y:b3,platform:Windows, +030000009f000000adbb000000000000,MaxJoypad Virtual Controller,a:b1,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows, +03000000250900000128000000000000,Mayflash Arcade Stick,a:b1,b:b2,back:b8,leftshoulder:b0,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b3,righttrigger:b7,start:b9,x:b5,y:b6,platform:Windows, +03000000790000003018000000000000,Mayflash F300 Arcade Joystick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows, +03000000242f00003900000000000000,Mayflash F300 Elite Arcade Joystick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000790000004418000000000000,Mayflash GameCube Controller,a:b1,b:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b0,y:b3,platform:Windows, +03000000790000004318000000000000,Mayflash GameCube Controller Adapter,a:b1,b:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b0,y:b3,platform:Windows, +03000000242f00007300000000000000,Mayflash Magic NS,a:b1,b:b4,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b0,y:b3,platform:Windows, +0300000079000000d218000000000000,Mayflash Magic NS,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +03000000d620000010a7000000000000,Mayflash Magic NS,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000008f0e00001030000000000000,Mayflash Sega Saturn Adapter,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b5,rightshoulder:b2,righttrigger:b7,start:b9,x:b3,y:b4,platform:Windows, +0300000025090000e803000000000000,Mayflash Wii Classic Adapter,a:b1,b:b0,back:b8,dpdown:b13,dpleft:b12,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Windows, +03000000790000000318000000000000,Mayflash Wii DolphinBar,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b11,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b1,platform:Windows, +03000000790000000018000000000000,Mayflash Wii U Pro Adapter,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000790000002418000000000000,Mega Drive Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,rightshoulder:b2,start:b9,x:b3,y:b4,platform:Windows, +0300000079000000ae18000000000000,Mega Drive Controller,a:b0,b:b1,back:b7,dpdown:b14,dpleft:b15,dpright:b13,dpup:b2,rightshoulder:b6,righttrigger:b2,start:b9,x:b3,y:b4,platform:Windows, +03000000c0160000990a000000000000,Mega Drive Controller,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,righttrigger:b2,start:b3,platform:Windows, +030000005e0400002800000000000000,Microsoft Dual Strike,a:b3,b:b2,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8,rightshoulder:b7,rightx:a0,righty:a1~,start:b5,x:b1,y:b0,platform:Windows, +030000005e0400000300000000000000,Microsoft SideWinder,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b2,start:b8,x:b3,y:b4,platform:Windows, +030000005e0400000700000000000000,Microsoft SideWinder,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b2,start:b9,x:b3,y:b4,platform:Windows, +030000005e0400000e00000000000000,Microsoft SideWinder Freestyle Pro,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b5,start:b8,x:b3,y:b4,platform:Windows, +030000005e0400002700000000000000,Microsoft SideWinder Plug and Play,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,lefttrigger:b4,righttrigger:b5,x:b2,y:b3,platform:Windows, +03000000280d00000202000000000000,Miller Lite Cantroller,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,start:b5,x:b2,y:b3,platform:Windows, +03000000ad1b000023f0000000000000,MLG,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a6,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Windows, +03000000ad1b00003ef0000000000000,MLG Fightstick TE,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b8,rightshoulder:b5,righttrigger:b9,start:b7,x:b2,y:b3,platform:Windows, +03000000380700006382000000000000,MLG PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000ffff00000000000000000000,Mocute M053,a:b3,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b11,leftstick:b7,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b6,righttrigger:b4,rightx:a3,righty:a4,start:b8,x:b1,y:b0,platform:Windows, +03000000d6200000e589000000000000,Moga 2,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a2,righty:a5,start:b7,x:b2,y:b3,platform:Windows, +03000000d62000007162000000000000,Moga Pro,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a2,righty:a5,start:b7,x:b2,y:b3,platform:Windows, +03000000d6200000ad0d000000000000,Moga Pro,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000c62400002a89000000000000,Moga XP5A Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b15,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows, +03000000c62400002b89000000000000,Moga XP5A Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows, +03000000c62400001a89000000000000,Moga XP5X Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows, +03000000c62400001b89000000000000,Moga XP5X Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows, +03000000efbe0000edfe000000000000,Monect Virtual Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b0,platform:Windows, +03000000250900006688000000000000,MP-8866 Super Dual Box,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows, +03000000091200004488000000000000,MUSIA PlayStation 2 Input Display,a:b0,b:b2,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,leftstick:b6,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b9,rightstick:b7,righttrigger:b11,rightx:a2,righty:a3,start:b5,x:b1,y:b3,platform:Windows, +03000000f70600000100000000000000,N64 Adaptoid,+rightx:b2,+righty:b1,-rightx:b4,-righty:b5,a:b0,b:b3,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,leftshoulder:b6,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b7,start:b8,platform:Windows, +030000006b140000010c000000000000,Nacon GC 400ES,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, +030000006b1400001106000000000000,Nacon Revolution 3 PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000006b140000100d000000000000,Nacon Revolution Infinity PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000006b140000080d000000000000,Nacon Revolution Unlimited Pro Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000bd12000001c0000000000000,Nebular,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a5,righty:a2,start:b9,x:b3,y:b0,platform:Windows, +03000000eb0300000000000000000000,NeGcon Adapter,a:a2,b:b13,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,lefttrigger:a4,leftx:a1,righttrigger:b11,start:b3,x:a3,y:b12,platform:Windows, +0300000038070000efbe000000000000,NEO SE,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +0300000092120000474e000000000000,NeoGeo X Arcade Stick,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,start:b9,x:b3,y:b2,platform:Windows, +03000000921200004b46000000000000,NES 2 port Adapter,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,start:b11,platform:Windows, +03000000000f00000100000000000000,NES Controller,a:b1,b:b0,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,start:b3,platform:Windows, +03000000921200004346000000000000,NES Controller,a:b0,b:b1,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,start:b3,platform:Windows, +03000000790000004518000000000000,NEXILUX GameCube Controller Adapter,a:b1,b:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b2,y:b3,platform:Windows, +030000001008000001e5000000000000,NEXT SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,righttrigger:b6,start:b9,x:b3,y:b0,platform:Windows, +03000000050b00000045000000000000,Nexus,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b10,x:b2,y:b3,platform:Windows, +03000000152000000182000000000000,NGDS,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b3,y:b0,platform:Windows, +030000007e0500000920000000000000,Nintendo Switch Pro Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, +030000000d0500000308000000000000,Nostromo N45,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b4,leftstick:b12,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b10,x:b2,y:b3,platform:Windows, +030000007e0500001920000000000000,NSO N64 Controller,+rightx:b8,+righty:b2,-rightx:b3,-righty:b7,a:b1,b:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,righttrigger:b10,start:b9,platform:Windows, +030000007e0500001720000000000000,NSO SNES Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b15,start:b9,x:b2,y:b3,platform:Windows, +03000000550900001472000000000000,NVIDIA Controller,a:b11,b:b10,back:b13,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b7,leftstick:b5,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b4,righttrigger:a5,rightx:a3,righty:a6,start:b3,x:b9,y:b8,platform:Windows, +03000000550900001072000000000000,NVIDIA Shield,a:b9,b:b8,back:b11,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b3,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b2,righttrigger:a4,rightx:a2,righty:a5,start:b0,x:b7,y:b6,platform:Windows, +030000005509000000b4000000000000,NVIDIA Virtual,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:-a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000120c00000288000000000000,Nyko Air Flo Xbox Controller,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Windows, +030000004b120000014d000000000000,Nyko Airflo,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:a3,leftstick:a0,lefttrigger:b6,rightshoulder:b5,rightstick:a2,righttrigger:b7,start:b9,x:b2,y:b3,platform:Windows, +03000000d62000001d57000000000000,Nyko Airflo PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000791d00000900000000000000,Nyko Playpad,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows, +03000000782300000a10000000000000,Onlive Controller,a:b15,b:b14,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b11,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a3,righty:a4,start:b6,x:b13,y:b12,platform:Windows, +030000000d0f00000401000000000000,Onyx,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000008916000001fd000000000000,Onza CE,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a3,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000008916000000fd000000000000,Onza TE,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000d62000006d57000000000000,OPP PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000006b14000001a1000000000000,Orange Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b2,y:b3,platform:Windows, +03000000362800000100000000000000,OUYA Controller,a:b0,b:b3,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b14,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:b13,rightx:a3,righty:a4,x:b1,y:b2,platform:Windows, +03000000120c0000f60e000000000000,P4 Gamepad,a:b1,b:b2,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b5,lefttrigger:b7,rightshoulder:b4,righttrigger:b6,start:b9,x:b0,y:b3,platform:Windows, +03000000790000002201000000000000,PC Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +030000006f0e00008501000000000000,PDP Fightpad Pro,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b0,platform:Windows, +030000006f0e00000901000000000000,PDP Versus Fighting,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows, +03000000e30500009605000000000000,PlayStation Adapter,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows, +030000004c050000da0c000000000000,PlayStation Classic Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b4,rightshoulder:b7,righttrigger:b5,start:b9,x:b3,y:b0,platform:Windows, +03000000632500002306000000000000,PlayStation Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Windows, +03000000f0250000c183000000000000,PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000d9040000160f000000000000,PlayStation Controller Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Windows, +030000004c0500003713000000000000,PlayStation Vita,a:b1,b:b2,back:b8,dpdown:b13,dpleft:b15,dpright:b14,dpup:b12,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Windows, +03000000d62000006dca000000000000,PowerA Pro Ex,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +0300000062060000d570000000000000,PowerA PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000d620000013a7000000000000,PowerA Switch Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000006d04000084ca000000000000,Precision,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Windows, +03000000d62000009557000000000000,Pro Elite PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000c62400001a53000000000000,Pro Ex Mini,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000d62000009f31000000000000,Pro Ex mini PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000d6200000c757000000000000,Pro Ex mini PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000120c0000110e000000000000,Pro5,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000100800000100000000000000,PS1 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Windows, +030000008f0e00007530000000000000,PS1 Controller,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b1,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000100800000300000000000000,PS2 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a4,righty:a2,start:b9,x:b3,y:b0,platform:Windows, +03000000250900000088000000000000,PS2 Controller,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows, +03000000250900006888000000000000,PS2 Controller,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b6,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows, +03000000250900008888000000000000,PS2 Controller,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows, +03000000666600006706000000000000,PS2 Controller,a:b2,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a2,righty:a3,start:b11,x:b3,y:b0,platform:Windows, +030000006b1400000303000000000000,PS2 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, +030000009d0d00001330000000000000,PS2 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, +03000000120a00000100000000000000,PS3 Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows, +03000000120c00001307000000000000,PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000120c00001cf1000000000000,PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000120c0000f90e000000000000,PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000250900000118000000000000,PS3 Controller,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows, +03000000250900000218000000000000,PS3 Controller,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows, +03000000250900000500000000000000,PS3 Controller,a:b2,b:b1,back:b9,dpdown:h0.8,dpleft:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b0,y:b3,platform:Windows, +030000004c0500006802000000000000,PS3 Controller,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b10,lefttrigger:a3~,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:a4~,rightx:a2,righty:a5,start:b8,x:b3,y:b0,platform:Windows, +030000004f1f00000800000000000000,PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows, +03000000632500007505000000000000,PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +03000000888800000803000000000000,PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.8,dpleft:h0.4,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b9,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:b7,rightx:a3,righty:a4,start:b11,x:b0,y:b3,platform:Windows, +03000000888800000804000000000000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,leftshoulder:b10,leftstick:b1,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Windows, +030000008f0e00000300000000000000,PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b3,y:b0,platform:Windows, +030000008f0e00001431000000000000,PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000ba2200002010000000000000,PS3 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a5,righty:a2,start:b9,x:b3,y:b2,platform:Windows, +03000000120c00000807000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000120c0000111e000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000120c0000121e000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000120c0000130e000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000120c0000150e000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000120c0000180e000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000120c0000181e000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000120c0000191e000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000120c00001e0e000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000120c0000a957000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000120c0000aa57000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000120c0000f21c000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000120c0000f31c000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000120c0000f41c000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000120c0000f51c000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000120c0000f70e000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000120e0000120c000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000160e0000120c000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000001a1e0000120c000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000004c050000a00b000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000004c050000c405000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3,platform:Windows, +030000004c050000cc09000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000004c050000e60c000000000000,PS5 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3,platform:Windows, +03000000830500005020000000000000,PSX,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b2,y:b3,platform:Windows, +03000000300f00000111000000000000,Qanba 2,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000300f00000211000000000000,Qanba 2P,a:b1,b:b0,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, +03000000300f00000011000000000000,Qanba Arcade Stick 1008,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b10,x:b0,y:b3,platform:Windows, +03000000300f00001611000000000000,Qanba Arcade Stick 4018,a:b1,b:b2,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b8,x:b0,y:b3,platform:Windows, +03000000222c00000025000000000000,Qanba Dragon Arcade Joystick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000222c00000020000000000000,Qanba Drone Arcade Stick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:a3,rightshoulder:b5,righttrigger:a4,start:b9,x:b0,y:b3,platform:Windows, +03000000300f00001211000000000000,Qanba Joystick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000300f00001210000000000000,Qanba Joystick Plus,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,rightshoulder:b5,start:b9,x:b2,y:b3,platform:Windows, +03000000341a00000104000000000000,Qanba Joystick Q4RAF,a:b5,b:b6,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b0,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b3,righttrigger:b7,start:b9,x:b1,y:b2,platform:Windows, +03000000222c00000223000000000000,Qanba Obsidian Arcade Stick PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000222c00000023000000000000,Qanba Obsidian Arcade Stick PS4,a:b1,b:b2,back:b13,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000008a2400006682000000000000,R1 Mobile Controller,a:b3,b:b1,back:b7,leftx:a0,lefty:a1,start:b6,x:b4,y:b0,platform:Windows, +03000000086700006626000000000000,RadioShack,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b3,y:b0,platform:Windows, +03000000ff1100004733000000000000,Ramox FPS Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b9,x:b3,y:b0,platform:Windows, +030000009b2800002300000000000000,Raphnet 3DO Adapter,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b2,start:b3,platform:Windows, +030000009b2800006900000000000000,Raphnet 3DO Adapter,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b2,start:b3,platform:Windows, +030000009b2800000800000000000000,Raphnet Dreamcast Adapter,a:b2,b:b1,dpdown:b5,dpleft:b6,dpright:b7,dpup:b4,lefttrigger:a2,leftx:a0,righttrigger:a3,righty:a1,start:b3,x:b10,y:b9,platform:Windows, +030000009b2800003200000000000000,Raphnet GC and N64 Adapter,a:b0,b:b7,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,lefttrigger:+a5,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:+a2,rightx:a3,righty:a4,start:b3,x:b1,y:b8,platform:Windows, +030000009b2800006000000000000000,Raphnet GC and N64 Adapter,a:b0,b:b7,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,lefttrigger:+a5,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:+a2,rightx:a3,righty:a4,start:b3,x:b1,y:b8,platform:Windows, +030000009b2800001800000000000000,Raphnet Jaguar Adapter,a:b2,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b0,righttrigger:b10,start:b3,x:b11,y:b12,platform:Windows, +030000009b2800000200000000000000,Raphnet NES Adapter,a:b7,b:b6,back:b5,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,start:b4,platform:Windows, +030000009b2800004400000000000000,Raphnet PS1 and PS2 Adapter,a:b1,b:b2,back:b5,dpdown:b13,dpleft:b14,dpright:b15,dpup:b12,leftshoulder:b6,leftstick:b10,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b9,rightx:a3,righty:a4,start:b4,x:b0,y:b3,platform:Windows, +030000009b2800004300000000000000,Raphnet Saturn,a:b0,b:b1,dpdown:b13,dpleft:b14,dpright:b15,dpup:b12,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b2,start:b8,x:b3,y:b4,platform:Windows, +030000009b2800000500000000000000,Raphnet Saturn Adapter 2.0,a:b1,b:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b4,rightshoulder:b7,righttrigger:b5,start:b9,x:b0,y:b3,platform:Windows, +030000009b2800000300000000000000,Raphnet SNES Adapter,a:b0,b:b4,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b3,x:b1,y:b5,platform:Windows, +030000009b2800005600000000000000,Raphnet SNES Adapter,a:b1,b:b4,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b3,x:b0,y:b5,platform:Windows, +030000009b2800005700000000000000,Raphnet SNES Adapter,a:b1,b:b4,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b3,x:b0,y:b5,platform:Windows, +030000009b2800001e00000000000000,Raphnet Vectrex Adapter,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a1,lefty:a2,x:b2,y:b3,platform:Windows, +030000009b2800002b00000000000000,Raphnet Wii Classic Adapter,a:b1,b:b4,back:b2,dpdown:b13,dpleft:b14,dpright:b15,dpup:b12,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a3,righty:a4,start:b3,x:b0,y:b5,platform:Windows, +030000009b2800002c00000000000000,Raphnet Wii Classic Adapter,a:b1,b:b4,back:b2,dpdown:b13,dpleft:b14,dpright:b15,dpup:b12,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a3,righty:a4,start:b3,x:b0,y:b5,platform:Windows, +03000000321500000003000000000000,Razer Hydra,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000321500000204000000000000,Razer Panthera PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000321500000104000000000000,Razer Panthera PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000321500000010000000000000,Razer Raiju,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000321500000507000000000000,Razer Raiju Mobile,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows, +03000000321500000707000000000000,Razer Raiju Mobile,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows, +03000000321500000710000000000000,Razer Raiju TE,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000321500000a10000000000000,Razer Raiju TE,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000321500000410000000000000,Razer Raiju UE,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000321500000910000000000000,Razer Raiju UE,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000321500000011000000000000,Razer Raion PS4 Fightpad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000321500000009000000000000,Razer Serval,+lefty:+a2,-lefty:-a1,a:b0,b:b1,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,leftx:a0,rightshoulder:b5,rightstick:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000921200004547000000000000,Retro Bit Sega Genesis Controller Adapter,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,lefttrigger:b7,rightshoulder:b5,righttrigger:b2,start:b6,x:b3,y:b4,platform:Windows, +03000000790000001100000000000000,Retro Controller,a:b1,b:b2,back:b8,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,leftshoulder:b6,lefttrigger:b7,rightshoulder:b4,righttrigger:b5,start:b9,x:b0,y:b3,platform:Windows, +03000000830500006020000000000000,Retro Controller,a:b0,b:b1,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b5,rightshoulder:b8,righttrigger:b9,start:b7,x:b2,y:b3,platform:Windows, +03000000bd12000013d0000000000000,Retrolink Sega Saturn Classic Controller,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b5,lefttrigger:b6,rightshoulder:b2,righttrigger:b7,start:b8,x:b3,y:b4,platform:Windows, +03000000bd12000015d0000000000000,Retrolink SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Windows, +0300000000f000000300000000000000,RetroUSB RetroPad,a:b1,b:b5,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b3,x:b0,y:b4,platform:Windows, +0300000000f00000f100000000000000,RetroUSB Super RetroPort,a:b1,b:b5,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b3,x:b0,y:b4,platform:Windows, +03000000830500000960000000000000,Revenger,a:b0,b:b1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b3,x:b4,y:b5,platform:Windows, +030000006b140000010d000000000000,Revolution Pro Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000006b140000020d000000000000,Revolution Pro Controller 2,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000006b140000130d000000000000,Revolution Pro Controller 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000006f0e00001f01000000000000,Rock Candy,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000006f0e00004601000000000000,Rock Candy,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000c6240000fefa000000000000,Rock Candy Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000006f0e00001e01000000000000,Rock Candy PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000006f0e00002801000000000000,Rock Candy PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000006f0e00002f01000000000000,Rock Candy PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000006f0e00008701000000000000,Rock Candy Switch Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b13,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000050b0000e318000000000000,ROG Chakram,a:b1,b:b0,leftx:a0,lefty:a1,x:b2,y:b3,platform:Windows, +03000000050b0000e518000000000000,ROG Chakram,a:b1,b:b0,leftx:a0,lefty:a1,x:b2,y:b3,platform:Windows, +03000000050b00005819000000000000,ROG Chakram Core,a:b1,b:b0,leftx:a0,lefty:a1,x:b2,y:b3,platform:Windows, +03000000050b0000181a000000000000,ROG Chakram X,a:b1,b:b0,leftx:a0,lefty:a1,x:b2,y:b3,platform:Windows, +03000000050b00001a1a000000000000,ROG Chakram X,a:b1,b:b0,leftx:a0,lefty:a1,x:b2,y:b3,platform:Windows, +03000000050b00001c1a000000000000,ROG Chakram X,a:b1,b:b0,leftx:a0,lefty:a1,x:b2,y:b3,platform:Windows, +030000004f04000001d0000000000000,Rumble Force,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Windows, +030000008916000000fe000000000000,Sabertooth,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000c6240000045d000000000000,Sabertooth,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000a30600001af5000000000000,Saitek Cyborg,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Windows, +03000000a306000023f6000000000000,Saitek Cyborg V.1 Game,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Windows, +03000000300f00001201000000000000,Saitek Dual Analog,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Windows, +03000000a30600000701000000000000,Saitek P220,a:b2,b:b3,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b7,rightshoulder:b4,righttrigger:b5,x:b0,y:b1,platform:Windows, +03000000a30600000cff000000000000,Saitek P2500 Force Rumble,a:b2,b:b3,back:b11,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b10,x:b0,y:b1,platform:Windows, +03000000a30600000d5f000000000000,Saitek P2600,a:b1,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a3,righty:a2,start:b8,x:b0,y:b3,platform:Windows, +03000000a30600000dff000000000000,Saitek P2600,a:b1,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a5,righty:a2,start:b8,x:b0,y:b3,platform:Windows, +03000000a30600000c04000000000000,Saitek P2900,a:b1,b:b2,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b3,platform:Windows, +03000000a306000018f5000000000000,Saitek P3200,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Windows, +03000000300f00001001000000000000,Saitek P480 Rumble,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Windows, +03000000a30600000901000000000000,Saitek P880,a:b2,b:b3,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b8,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b9,righttrigger:b5,rightx:a3,righty:a2,x:b0,y:b1,platform:Windows, +03000000a30600000b04000000000000,Saitek P990,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b3,platform:Windows, +03000000a30600002106000000000000,Saitek PS1000 PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Windows, +03000000a306000020f6000000000000,Saitek PS2700 PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Windows, +03000000300f00001101000000000000,Saitek Rumble,a:b2,b:b3,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Windows, +03000000e804000000a0000000000000,Samsung EIGP20,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows, +03000000c01100000252000000000000,Sanwa Easy Grip,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b2,start:b9,x:b3,y:b4,platform:Windows, +03000000c01100004350000000000000,Sanwa Micro Grip P3,a:b1,b:b0,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,x:b3,y:b2,platform:Windows, +03000000411200004550000000000000,Sanwa Micro Grip Pro,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a1,righty:a2,start:b9,x:b1,y:b3,platform:Windows, +03000000c01100004150000000000000,Sanwa Micro Grip Pro,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Windows, +03000000c01100004450000000000000,Sanwa Online Grip,a:b0,b:b1,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b8,rightstick:b11,righttrigger:b9,rightx:a3,righty:a2,start:b14,x:b3,y:b4,platform:Windows, +03000000730700000401000000000000,Sanwa PlayOnline Mobile,a:b0,b:b1,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,start:b3,platform:Windows, +03000000830500006120000000000000,Sanwa Smart Grip II,a:b0,b:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,x:b1,y:b3,platform:Windows, +03000000c01100000051000000000000,Satechi Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows, +030000004f04000028b3000000000000,Score A,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000952e00002577000000000000,Scuf PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000a30c00002500000000000000,Sega Genesis Mini 3B Controller,a:b2,b:b1,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,righttrigger:b5,start:b9,platform:Windows, +03000000a30c00002400000000000000,Sega Mega Drive Mini 6B Controller,a:b2,b:b1,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,rightshoulder:b4,righttrigger:b5,start:b9,x:b3,y:b0,platform:Windows, +0300000000050000289b000000000000,Sega Saturn Adapter,a:b1,b:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b4,rightshoulder:b7,righttrigger:b5,start:b9,x:b0,y:b3,platform:Windows, +0300000000f000000800000000000000,Sega Saturn Controller,a:b1,b:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,rightshoulder:b7,righttrigger:b3,start:b0,x:b5,y:b6,platform:Windows, +03000000730700000601000000000000,Sega Saturn Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b2,start:b9,x:b3,y:b4,platform:Windows, +03000000b40400000a01000000000000,Sega Saturn Controller,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b7,rightshoulder:b5,righttrigger:b2,start:b8,x:b3,y:b4,platform:Windows, +030000003b07000004a1000000000000,SFX,a:b0,b:b2,back:b7,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b9,righttrigger:b5,start:b8,x:b1,y:b3,platform:Windows, +03000000f82100001900000000000000,Shogun Bros Chameleon X1,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows, +03000000120c00001c1e000000000000,SnakeByte 4S PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +0300000003040000c197000000000000,SNES Controller,a:b0,b:b4,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b3,x:b1,y:b5,platform:Windows, +0300000081170000960a000000000000,SNES Controller,a:b4,b:b0,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b3,x:b5,y:b1,platform:Windows, +03000000811700009d0a000000000000,SNES Controller,a:b0,b:b4,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b3,x:b1,y:b5,platform:Windows, +030000008b2800000300000000000000,SNES Controller,a:b0,b:b4,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b3,x:b1,y:b5,platform:Windows, +03000000921200004653000000000000,SNES Controller,a:b0,b:b4,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b3,x:b1,y:b5,platform:Windows, +03000000ff000000cb01000000000000,Sony PlayStation Portable,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,start:b7,x:b2,y:b3,platform:Windows, +03000000341a00000208000000000000,Speedlink 6555,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:-a4,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a4,rightx:a3,righty:a2,start:b7,x:b2,y:b3,platform:Windows, +03000000341a00000908000000000000,Speedlink 6566,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, +03000000380700001722000000000000,Speedlink Competition Pro,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,x:b2,y:b3,platform:Windows, +030000008f0e00000800000000000000,Speedlink Strike FX,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +03000000c01100000591000000000000,Speedlink Torid,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +03000000d11800000094000000000000,Stadia Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:b12,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:b11,rightx:a3,righty:a4,start:b9,x:b2,y:b3,platform:Windows, +03000000de280000fc11000000000000,Steam Virtual Gamepad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000de280000ff11000000000000,Steam Virtual Gamepad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:-a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000120c0000160e000000000000,Steel Play Metaltech PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000110100001914000000000000,SteelSeries,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftstick:b13,lefttrigger:b6,leftx:a0,lefty:a1,rightstick:b14,righttrigger:b7,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows, +03000000381000001214000000000000,SteelSeries Free,a:b0,b:b1,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Windows, +03000000110100003114000000000000,SteelSeries Stratus Duo,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows, +03000000381000003014000000000000,SteelSeries Stratus Duo,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000381000003114000000000000,SteelSeries Stratus Duo,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000381000001814000000000000,SteelSeries Stratus XL,a:b0,b:b1,back:b18,dpdown:b13,dpleft:b14,dpright:b15,dpup:b12,guide:b19,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b2,y:b3,platform:Windows, +03000000790000001c18000000000000,STK 7024X,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows, +03000000380700003847000000000000,Street Fighter Fightstick TE,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b11,start:b7,x:b2,y:b3,platform:Windows, +030000001f08000001e4000000000000,Super Famicom Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Windows, +03000000790000000418000000000000,Super Famicom Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b33,rightshoulder:b5,start:b7,x:b2,y:b3,platform:Windows, +03000000341200001300000000000000,Super Racer,a:b2,b:b3,back:b8,leftshoulder:b5,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b4,righttrigger:b7,x:b0,y:b1,platform:Windows, +03000000d620000011a7000000000000,Switch Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000000d0f0000f600000000000000,Switch Hori Pad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, +03000000457500002211000000000000,Szmy Power PC Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000004f0400000ab1000000000000,T16000M,a:b0,b:b1,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b11,leftshoulder:b4,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,start:b10,x:b2,y:b3,platform:Windows, +030000000d0f00007b00000000000000,TAC GEAR,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000e40a00000207000000000000,Taito Egret II Mini Controller,a:b4,b:b2,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,guide:b9,rightshoulder:b0,righttrigger:b1,start:b7,x:b8,y:b3,platform:Windows, +03000000d814000001a0000000000000,TE Kitty,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000fa1900000706000000000000,Team 5,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +03000000b50700001203000000000000,Techmobility X6-38V,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Windows, +03000000ba2200000701000000000000,Technology Innovation PS2 Adapter,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b3,y:b2,platform:Windows, +03000000c61100001000000000000000,Tencent Xianyou Gamepad,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,x:b3,y:b4,platform:Windows, +03000000790000002601000000000000,TGZ,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b3,y:b0,platform:Windows, +030000004f04000015b3000000000000,Thrustmaster Dual Analog 4,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Windows, +030000004f04000023b3000000000000,Thrustmaster Dual Trigger PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000004f0400000ed0000000000000,ThrustMaster eSwap Pro Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000004f04000008d0000000000000,ThrustMaster Ferrari 150 PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000004f04000000b3000000000000,Thrustmaster Firestorm Dual Power,a:b0,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b11,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b10,x:b1,y:b3,platform:Windows, +030000004f04000004b3000000000000,Thrustmaster Firestorm Dual Power,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Windows, +030000004f04000003d0000000000000,ThrustMaster Run N Drive PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b7,leftshoulder:a3,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:a4,rightstick:b11,righttrigger:b5,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000004f04000009d0000000000000,ThrustMaster Run N Drive PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +030000006d04000088ca000000000000,Thunderpad,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Windows, +03000000666600000488000000000000,TigerGame PlayStation Adapter,a:b2,b:b1,back:b9,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows, +030000004f04000007d0000000000000,TMini,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000571d00002100000000000000,Tomee NES Controller Adapter,a:b1,b:b0,back:b2,dpdown:+a4,dpleft:-a0,dpright:+a0,dpup:-a4,start:b3,platform:Windows, +03000000571d00002000000000000000,Tomee SNES Controller Adapter,a:b0,b:b1,back:b6,dpdown:+a4,dpleft:-a0,dpright:+a0,dpup:-a4,leftshoulder:b4,rightshoulder:b5,start:b7,x:b2,y:b3,platform:Windows, +03000000d62000006000000000000000,Tournament PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000c01100000055000000000000,Tronsmart,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +030000005f140000c501000000000000,Trust Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +03000000b80500000210000000000000,Trust Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +030000004f04000087b6000000000000,TWCS Throttle,dpdown:b8,dpleft:b9,dpright:b7,dpup:b6,leftstick:b5,lefttrigger:-a5,leftx:a0,lefty:a1,righttrigger:+a5,platform:Windows, +03000000411200000450000000000000,Twin Shock,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a3,righty:a4,start:b11,x:b3,y:b0,platform:Windows, +03000000d90400000200000000000000,TwinShock PS2 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Windows, +03000000151900005678000000000000,Uniplay U6,a:b0,b:b1,back:b11,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b14,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a3,righty:a4,start:b10,x:b3,y:b4,platform:Windows, +03000000101c0000171c000000000000,uRage Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +030000000b0400003065000000000000,USB Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b3,y:b0,platform:Windows, +03000000242f00006e00000000000000,USB Controller,a:b1,b:b4,back:b10,leftshoulder:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b9,righttrigger:b7,rightx:a2,righty:a5,start:b11,x:b0,y:b3,platform:Windows, +03000000300f00000701000000000000,USB Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Windows, +03000000341a00002308000000000000,USB Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, +03000000666600000188000000000000,USB Controller,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows, +03000000666600000288000000000000,USB Controller,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Windows, +030000006b1400000203000000000000,USB Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, +03000000790000000a00000000000000,USB Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b3,y:b0,platform:Windows, +03000000b404000081c6000000000000,USB Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b3,y:b0,platform:Windows, +03000000b50700001503000000000000,USB Controller,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a5,righty:a2,start:b9,x:b0,y:b1,platform:Windows, +03000000bd12000012d0000000000000,USB Controller,a:b0,b:b1,back:b6,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,start:b7,x:b2,y:b3,platform:Windows, +03000000ff1100004133000000000000,USB Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a4,righty:a2,start:b9,x:b3,y:b0,platform:Windows, +03000000632500002305000000000000,USB Vibration Joystick,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Windows, +03000000790000001a18000000000000,Venom,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, +03000000790000001b18000000000000,Venom Arcade Joystick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows, +030000006f0e00000302000000000000,Victrix PS4 Pro Fightstick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows, +030000006f0e00000702000000000000,Victrix PS4 Pro Fightstick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Windows, +0300000034120000adbe000000000000,vJoy Device,a:b0,b:b1,back:b15,dpdown:b6,dpleft:b7,dpright:b8,dpup:b5,guide:b16,leftshoulder:b9,leftstick:b13,lefttrigger:b11,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b14,righttrigger:b12,rightx:a3,righty:a4,start:b4,x:b2,y:b3,platform:Windows, +03000000120c0000ab57000000000000,Warrior Joypad JS083,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +030000007e0500003003000000000000,Wii U Pro,a:b0,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b16,dpup:b13,leftshoulder:b6,leftstick:b11,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b12,righttrigger:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Windows, +0300000032150000030a000000000000,Wildcat,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +0300000032150000140a000000000000,Wolverine,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000002e160000efbe000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b10,rightshoulder:b5,righttrigger:b11,start:b7,x:b2,y:b3,platform:Windows, +03000000380700001647000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000380700002045000000000000,Xbox 360 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, +03000000380700002644000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b7,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a2,righty:a5,start:b8,x:b2,y:b3,platform:Windows, +03000000380700002647000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000003807000026b7000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000380700003647000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a7,righty:a5,start:b7,x:b2,y:b3,platform:Windows, +030000005e0400001907000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000005e0400008e02000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:-a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000005e0400009102000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000ad1b000000fd000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000ad1b000001fd000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000ad1b000016f0000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000ad1b00008e02000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000c62400000053000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000c6240000fdfa000000000000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000380700002847000000000000,Xbox 360 Fightpad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b11,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000005e040000a102000000000000,Xbox 360 Wireless Receiver,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:-a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000005e0400000a0b000000000000,Xbox Adaptive Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:-a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000120c00000a88000000000000,Xbox Controller,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a2,righty:a4,start:b6,x:b2,y:b3,platform:Windows, +03000000120c00001088000000000000,Xbox Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2~,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5~,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000002a0600002000000000000000,Xbox Controller,a:b0,b:b1,back:b13,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,leftshoulder:b5,leftstick:b14,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b15,righttrigger:b7,rightx:a2,righty:a5,start:b12,x:b2,y:b3,platform:Windows, +03000000300f00008888000000000000,Xbox Controller,a:b0,b:b1,back:b7,dpdown:b13,dpleft:b10,dpright:b11,dpup:b12,leftshoulder:b5,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Windows, +03000000380700001645000000000000,Xbox Controller,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Windows, +03000000380700002645000000000000,Xbox Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000380700003645000000000000,Xbox Controller,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Windows, +03000000380700008645000000000000,Xbox Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000005e0400000202000000000000,Xbox Controller,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b9,righttrigger:b11,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Windows, +030000005e0400008502000000000000,Xbox Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000005e0400008702000000000000,Xbox Controller,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b9,righttrigger:b7,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Windows, +030000005e0400008902000000000000,Xbox Controller,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b10,leftstick:b8,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b9,righttrigger:b4,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Windows, +030000000d0f00006300000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b9,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000005e0400000c0b000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000005e040000d102000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000005e040000dd02000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000005e040000e002000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000005e040000e302000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000005e040000ea02000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:-a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000005e040000fd02000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000005e040000ff02000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:-a2,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000006f0e0000a802000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000006f0e0000c802000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000c62400003a54000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000005e040000130b000000000000,Xbox Series Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +03000000341a00000608000000000000,Xeox,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, +03000000450c00002043000000000000,Xeox SL6556BK,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, +030000006f0e00000300000000000000,XGear,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a5,righty:a2,start:b9,x:b3,y:b0,platform:Windows, +03000000172700004431000000000000,XiaoMi Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b20,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a7,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Windows, +03000000786901006e70000000000000,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows, +030000007d0400000340000000000000,Xterminator Digital Gamepad,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:-a4,lefttrigger:+a4,leftx:a0,lefty:a1,paddle1:b7,paddle2:b6,rightshoulder:b5,rightstick:b9,righttrigger:b2,rightx:a3,righty:a5,start:b8,x:b3,y:b4,platform:Windows, +03000000790000004f18000000000000,ZDT Android Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b3,y:b4,platform:Windows, +03000000120c0000101e000000000000,Zeroplus P4 Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, + +# Mac OS X +030000008f0e00000300000009010000,2 In 1 Joystick,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Mac OS X, +03000000c82d00000031000001000000,8BitDo Adapter,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X, +03000000c82d00000531000000020000,8BitDo Adapter 2,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X, +03000000c82d00000951000000010000,8BitDo Dogbone,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,rightx:a2,righty:a3,start:b11,platform:Mac OS X, +03000000c82d00000090000001000000,8BitDo FC30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X, +03000000c82d00001038000000010000,8BitDo FC30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X, +03000000c82d00001251000000010000,8BitDo Lite 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X, +03000000c82d00001151000000010000,8BitDo Lite SE,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X, +03000000c82d00001151000000020000,8BitDo Lite SE,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X, +03000000a30c00002400000006020000,8BitDo M30,a:b2,b:b1,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,guide:b9,leftshoulder:b6,lefttrigger:b5,rightshoulder:b4,righttrigger:b7,start:b8,x:b3,y:b0,platform:Mac OS X, +03000000c82d00000151000000010000,8BitDo M30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X, +03000000c82d00000650000001000000,8BitDo M30,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,start:b11,x:b3,y:b4,platform:Mac OS X, +03000000c82d00005106000000010000,8BitDo M30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,guide:b2,leftshoulder:b6,lefttrigger:a5,rightshoulder:b7,righttrigger:a4,start:b11,x:b4,y:b3,platform:Mac OS X, +03000000c82d00000451000000010000,8BitDo N30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,rightx:a2,righty:a3,start:b11,platform:Mac OS X, +03000000c82d00001590000001000000,8BitDo N30 Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X, +03000000c82d00006528000000010000,8BitDo N30 Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X, +030000003512000012ab000001000000,8BitDo NES30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Mac OS X, +03000000c82d000012ab000001000000,8BitDo NES30,a:b0,b:b1,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Mac OS X, +03000000c82d00002028000000010000,8BitDo NES30,a:b0,b:b1,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Mac OS X, +03000000022000000090000001000000,8BitDo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X, +03000000203800000900000000010000,8BitDo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X, +03000000c82d00000190000001000000,8BitDo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X, +03000000c82d00000751000000010000,8BitDo P30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X, +03000000c82d00000851000000010000,8BitDo P30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X, +03000000c82d00000660000000010000,8BitDo Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X, +03000000c82d00000660000000020000,8BitDo Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X, +03000000c82d00000131000001000000,8BitDo Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X, +03000000c82d00000231000001000000,8BitDo Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X, +03000000c82d00000331000001000000,8BitDo Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X, +03000000c82d00000431000001000000,8BitDo Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X, +03000000c82d00002867000000010000,8BitDo S30,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,rightx:a2,righty:a3,start:b10,x:b3,y:b4,platform:Mac OS X, +03000000102800000900000000000000,8BitDo SFC30 Joystick,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Mac OS X, +03000000c82d00000351000000010000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X, +03000000c82d00001290000001000000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Mac OS X, +03000000c82d00004028000000010000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Mac OS X, +03000000c82d00000160000001000000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X, +03000000c82d00000161000000010000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a5,start:b11,x:b4,y:b3,platform:Mac OS X, +03000000c82d00000260000001000000,8BitDo SN30 Pro+,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X, +03000000c82d00000261000000010000,8BitDo SN30 Pro+,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Mac OS X, +03000000a00500003232000008010000,8BitDo Zero,a:b0,b:b1,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Mac OS X, +03000000a00500003232000009010000,8BitDo Zero,a:b0,b:b1,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Mac OS X, +03000000c82d00001890000001000000,8BitDo Zero 2,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Mac OS X, +03000000c82d00003032000000010000,8BitDo Zero 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,rightx:a2,righty:a31,start:b11,x:b4,y:b3,platform:Mac OS X, +03000000491900001904000001010000,Amazon Luna Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,misc1:b9,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b7,x:b2,y:b3,platform:Mac OS X, +03000000710100001904000000010000,Amazon Luna Controller,a:b0,b:b1,back:b11,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,misc1:b9,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Mac OS X, +03000000a30c00002700000003030000,Astro City Mini,a:b2,b:b1,back:b8,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,rightshoulder:b4,righttrigger:b5,start:b9,x:b3,y:b0,platform:Mac OS X, +03000000a30c00002800000003030000,Astro City Mini,a:b2,b:b1,back:b8,leftx:a3,lefty:a4,rightshoulder:b4,righttrigger:b5,start:b9,x:b3,y:b0,platform:Mac OS X, +03000000050b00000045000031000000,ASUS Gamepad,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Mac OS X, +03000000c62400001a89000000010000,BDA MOGA XP5-X Plus,a:b0,b:b1,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b14,leftshoulder:b6,leftstick:b15,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b16,righttrigger:a4,rightx:a2,righty:a3,start:b13,x:b3,y:b4,platform:Mac OS X, +03000000c62400001b89000000010000,BDA MOGA XP5-X Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X, +03000000d62000002a79000000010000,BDA PS4 Fightpad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, +03000000120c0000200e000000010000,Brook Mars PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, +03000000120c0000210e000000010000,Brook Mars PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, +030000008305000031b0000000000000,Cideko AK08b,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, +03000000d8140000cecf000000000000,Cthulhu,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X, +03000000260900008888000088020000,Cyber Gadget GameCube Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:a5,rightx:a2,righty:a3~,start:b7,x:b2,y:b3,platform:Mac OS X, +03000000a306000022f6000001030000,Cyborg V3 Rumble Pad PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:+a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:-a3,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Mac OS X, +03000000791d00000103000009010000,Dual Box Wii Classic Adapter,a:b2,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,guide:b10,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Mac OS X, +030000006e0500000720000010020000,Elecom JC-W01U,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b1,platform:Mac OS X, +030000006f0e00008401000003010000,Faceoff Premiere Wired Pro Controller for Nintendo Switch,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b13,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, +03000000151900004000000001000000,Flydigi Vader 2,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Mac OS X, +03000000b40400001124000000000000,Flydigi Vader 2,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b12,lefttrigger:b8,leftx:a0,lefty:a1,paddle1:b4,paddle2:b5,paddle3:b17,rightshoulder:b7,rightstick:b13,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b2,y:b3,platform:Mac OS X, +03000000790000004618000000010000,GameCube Controller Adapter,a:b4,b:b0,dpdown:b56,dpleft:b60,dpright:b52,dpup:b48,lefttrigger:a12,leftx:a0,lefty:a4,rightshoulder:b28,righttrigger:a16,rightx:a20,righty:a8,start:b36,x:b8,y:b12,platform:Mac OS X, +03000000ad1b000001f9000000000000,Gamestop BB070 X360 Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, +0500000047532047616d657061640000,GameStop Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Mac OS X, +03000000c01100000140000000010000,GameStop PS4 Fun Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, +030000006f0e00000102000000000000,GameStop Xbox 360 Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, +030000007d0400000540000001010000,Gravis Eliminator Pro,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X, +03000000280400000140000000020000,Gravis GamePad Pro,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X, +030000008f0e00000300000007010000,GreenAsia Joystick,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Mac OS X, +030000000d0f00002d00000000100000,Hori Fighting Commander 3 Pro,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, +030000000d0f00005f00000000000000,Hori Fighting Commander 4 PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, +030000000d0f00005f00000000010000,Hori Fighting Commander 4 PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, +030000000d0f00005e00000000000000,Hori Fighting Commander 4 PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, +030000000d0f00005e00000000010000,Hori Fighting Commander 4 PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, +030000000d0f00008400000000010000,Hori Fighting Commander PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, +030000000d0f00008500000000010000,Hori Fighting Commander PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, +030000000d0f00008800000000010000,Hori Fighting Stick mini 4 (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,rightstick:b11,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X, +030000000d0f00008700000000010000,Hori Fighting Stick mini 4 (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,rightstick:b11,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X, +030000000d0f00004d00000000000000,Hori Gem Pad 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, +030000000d0f00003801000008010000,Hori PC Engine Mini Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,start:b9,platform:Mac OS X, +030000000d0f00009200000000010000,Hori Pokken Tournament DX Pro,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X, +030000000d0f00006e00000000010000,Horipad 4 PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, +030000000d0f00006600000000010000,Horipad 4 PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, +030000000d0f00006600000000000000,Horipad FPS Plus 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, +030000000d0f0000ee00000000010000,Horipad Mini 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, +030000008f0e00001330000011010000,HuiJia SNES Controller,a:b4,b:b2,back:b16,dpdown:+a2,dpleft:-a0,dpright:+a0,dpup:-a2,leftshoulder:b12,rightshoulder:b14,start:b18,x:b6,y:b0,platform:Mac OS X, +03000000790000004e95000000010000,Hyperkin N64 Controller Adapter,a:b1,b:b2,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b7,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightx:a5,righty:a2,start:b9,platform:Mac OS X, +03000000830500006020000000000000,iBuffalo Gamepad,a:b1,b:b0,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b7,x:b3,y:b2,platform:Mac OS X, +03000000ef0500000300000000020000,InterAct AxisPad,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,start:b11,x:b0,y:b1,platform:Mac OS X, +03000000fd0500000030000010010000,Interact GoPad,a:b3,b:b4,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b5,x:b0,y:b1,platform:Mac OS X, +030000007e0500000620000001000000,Joy-Con (L),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b13,leftshoulder:b4,leftstick:b10,rightshoulder:b5,start:b8,x:b2,y:b3,platform:Mac OS X, +030000007e0500000720000001000000,Joy-Con (R),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b12,leftshoulder:b4,leftstick:b11,rightshoulder:b5,start:b9,x:b2,y:b3,platform:Mac OS X, +03000000242f00002d00000007010000,JYS Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Mac OS X, +030000006d04000019c2000000000000,Logitech Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, +030000006d04000016c2000000020000,Logitech Dual Action,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, +030000006d04000016c2000000030000,Logitech Dual Action,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, +030000006d04000016c2000014040000,Logitech Dual Action,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, +030000006d04000016c2000000000000,Logitech F310,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, +030000006d04000018c2000000000000,Logitech F510,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, +030000006d04000019c2000005030000,Logitech F710,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, +030000006d0400001fc2000000000000,Logitech F710,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, +030000006d04000018c2000000010000,Logitech RumblePad 2,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3~,start:b9,x:b0,y:b3,platform:Mac OS X, +03000000380700005032000000010000,Mad Catz PS3 Fightpad Pro,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, +03000000380700008433000000010000,Mad Catz PS3 Fightstick TE S+,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, +03000000380700005082000000010000,Mad Catz PS4 Fightpad Pro,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, +03000000380700008483000000010000,Mad Catz PS4 Fightstick TE S+,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, +03000000790000000600000007010000,Marvo GT-004,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Mac OS X, +03000000790000004318000000010000,Mayflash GameCube Adapter,a:b4,b:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a12,leftx:a0,lefty:a4,rightshoulder:b28,righttrigger:a16,rightx:a20,righty:a8,start:b36,x:b8,y:b12,platform:Mac OS X, +03000000790000004418000000010000,Mayflash GameCube Controller,a:b1,b:b2,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b0,y:b3,platform:Mac OS X, +03000000242f00007300000000020000,Mayflash Magic NS,a:b1,b:b4,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b0,y:b3,platform:Mac OS X, +0300000079000000d218000026010000,Mayflash Magic NS,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Mac OS X, +03000000d620000010a7000003010000,Mayflash Magic NS,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, +0300000025090000e803000000000000,Mayflash Wii Classic Adapter,a:b1,b:b0,back:b8,dpdown:b13,dpleft:b12,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Mac OS X, +03000000790000000318000000010000,Mayflash Wii DolphinBar,a:b8,b:b12,back:b32,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b44,leftshoulder:b16,lefttrigger:b24,leftx:a0,lefty:a4,rightshoulder:b20,righttrigger:b28,rightx:a8,righty:a12,start:b36,x:b0,y:b4,platform:Mac OS X, +03000000790000000018000000000000,Mayflash Wii U Pro Adapter,a:b4,b:b8,back:b32,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b16,leftstick:b40,lefttrigger:b24,leftx:a0,lefty:a4,rightshoulder:b20,rightstick:b44,righttrigger:b28,rightx:a8,righty:a12,start:b36,x:b0,y:b12,platform:Mac OS X, +03000000790000000018000000010000,Mayflash Wii U Pro Adapter,a:b4,b:b8,back:b32,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b16,leftstick:b40,lefttrigger:b24,leftx:a0,lefty:a4,rightshoulder:b20,rightstick:b44,righttrigger:b28,rightx:a8,righty:a12,start:b36,x:b0,y:b12,platform:Mac OS X, +030000005e0400002800000002010000,Microsoft Dual Strike,a:b3,b:b2,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8,rightshoulder:b7,rightx:a0,righty:a1~,start:b5,x:b1,y:b0,platform:Mac OS X, +030000005e0400002700000001010000,Microsoft SideWinder Plug and Play,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,lefttrigger:b4,righttrigger:b5,x:b2,y:b3,platform:Mac OS X, +03000000d62000007162000001000000,Moga Pro 2,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Mac OS X, +03000000c62400002a89000000010000,MOGA XP5A Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b21,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X, +03000000c62400002b89000000010000,MOGA XP5A Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X, +03000000632500007505000000020000,NeoGeo mini PAD Controller,a:b1,b:b0,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,start:b9,x:b2,y:b3,platform:Mac OS X, +03000000921200004b46000003020000,NES 2-port Adapter,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,start:b11,platform:Mac OS X, +030000001008000001e5000006010000,NEXT SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,righttrigger:b6,start:b9,x:b3,y:b0,platform:Mac OS X, +03000000d620000011a7000000020000,Nintendo Switch Core Plus Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, +03000000d620000011a7000010050000,Nintendo Switch PowerA Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, +030000007e0500000920000000000000,Nintendo Switch Pro Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Mac OS X, +030000007e0500000920000001000000,Nintendo Switch Pro Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Mac OS X, +030000007e0500001920000001000000,NSO N64 Controller,+rightx:b8,+righty:b7,-rightx:b3,-righty:b2,a:b1,b:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,righttrigger:b10,start:b9,platform:Mac OS X, +030000007e0500001720000001000000,NSO SNES Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b15,start:b9,x:b2,y:b3,platform:Mac OS X, +03000000550900001472000025050000,NVIDIA Controller,a:b0,b:b1,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b15,leftshoulder:b4,leftstick:b7,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a5,start:b6,x:b2,y:b3,platform:Mac OS X, +030000006f0e00000901000002010000,PDP Versus Fighting,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X, +030000008f0e00000300000000000000,Piranha Xtreme PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Mac OS X, +030000004c050000da0c000000010000,PlayStation Classic Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b4,rightshoulder:b7,righttrigger:b5,start:b9,x:b3,y:b0,platform:Mac OS X, +030000004c0500003713000000010000,PlayStation Vita,a:b1,b:b2,back:b8,dpdown:b13,dpleft:b15,dpright:b14,dpup:b12,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Mac OS X, +03000000d62000006dca000000010000,PowerA Pro Ex,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, +03000000100800000300000006010000,PS2 Adapter,a:b2,b:b1,back:b8,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a4,righty:a3,start:b9,x:b3,y:b0,platform:Mac OS X, +030000004c0500006802000000000000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Mac OS X, +030000004c0500006802000000010000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Mac OS X, +030000004c0500006802000072050000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Mac OS X, +030000004c050000a00b000000010000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, +030000004c050000c405000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, +030000004c050000c405000000010000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, +030000004c050000cc09000000010000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, +030000004c050000e60c000000010000,PS5 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, +050000004c050000e60c000000010000,PS5 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3,platform:Mac OS X, +03000000222c00000225000000010000,Qanba Dragon Arcade Joystick (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, +03000000222c00000020000000010000,Qanba Drone Arcade Stick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, +030000008916000000fd000000000000,Razer Onza TE,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, +03000000321500000204000000010000,Razer Panthera PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, +03000000321500000104000000010000,Razer Panthera PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, +03000000321500000010000000010000,Razer Raiju,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, +03000000321500000507000001010000,Razer Raiju Mobile,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b21,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X, +03000000321500000011000000010000,Razer Raion PS4 Fightpad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, +03000000321500000009000000020000,Razer Serval,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3,platform:Mac OS X, +030000003215000000090000163a0000,Razer Serval,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3,platform:Mac OS X, +0300000032150000030a000000000000,Razer Wildcat,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, +03000000632500008005000000010000,Redgear,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Mac OS X, +030000000d0f0000c100000072050000,Retro Bit Sega Genesis 6B Controller,a:b2,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,lefttrigger:b8,rightshoulder:b6,righttrigger:b7,start:b9,x:b3,y:b0,platform:Mac OS X, +03000000921200004547000000020000,Retro Bit Sega Genesis Controller Adapter,a:b0,b:b2,dpdown:+a2,dpleft:-a0,dpright:+a0,dpup:-a2,lefttrigger:b14,rightshoulder:b10,righttrigger:b4,start:b12,x:b6,y:b8,platform:Mac OS X, +03000000790000001100000000000000,Retro Controller,a:b1,b:b2,back:b8,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,leftshoulder:b6,lefttrigger:b7,rightshoulder:b4,righttrigger:b5,start:b9,x:b0,y:b3,platform:Mac OS X, +03000000790000001100000005010000,Retro Controller,a:b1,b:b2,back:b8,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,leftshoulder:b6,lefttrigger:b7,rightshoulder:b5,righttrigger:b4,start:b9,x:b0,y:b3,platform:Mac OS X, +03000000830500006020000000010000,Retro Controller,a:b0,b:b1,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b5,rightshoulder:b8,righttrigger:b9,start:b7,x:b2,y:b3,platform:Mac OS X, +03000000790000001100000006010000,Retrolink SNES Controller,a:b2,b:b1,back:b8,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,leftshoulder:b4,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Mac OS X, +030000006b140000010d000000010000,Revolution Pro Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, +030000006b140000130d000000010000,Revolution Pro Controller 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, +03000000c6240000fefa000000000000,Rock Candy PS3,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, +03000000730700000401000000010000,Sanwa PlayOnline Mobile,a:b0,b:b1,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,start:b3,platform:Mac OS X, +03000000a30c00002500000006020000,Sega Genesis Mini 3B Controller,a:b2,b:b1,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,righttrigger:b5,start:b9,platform:Mac OS X, +03000000811700007e05000000000000,Sega Saturn,a:b2,b:b4,dpdown:b16,dpleft:b15,dpright:b14,dpup:b17,leftshoulder:b8,lefttrigger:a5,leftx:a0,lefty:a2,rightshoulder:b9,righttrigger:a4,start:b13,x:b0,y:b6,platform:Mac OS X, +03000000b40400000a01000000000000,Sega Saturn,a:b0,b:b1,back:b5,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,guide:b2,leftshoulder:b6,rightshoulder:b7,start:b8,x:b3,y:b4,platform:Mac OS X, +030000003512000021ab000000000000,SFC30 Joystick,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Mac OS X, +0300000000f00000f100000000000000,SNES RetroPort,a:b2,b:b3,back:b4,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b5,rightshoulder:b7,start:b6,x:b0,y:b1,platform:Mac OS X, +030000004c050000a00b000000000000,Sony DualShock 4 Adapter,a:b1,b:b2,back:b13,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, +030000004c050000cc09000000000000,Sony DualShock 4 V2,a:b1,b:b2,back:b13,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, +03000000d11800000094000000010000,Stadia Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3,platform:Mac OS X, +030000005e0400008e02000001000000,Steam Virtual Gamepad,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, +03000000110100002014000000000000,SteelSeries Nimbus,a:b0,b:b1,dpdown:b9,dpleft:b11,dpright:b10,dpup:b8,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3~,x:b2,y:b3,platform:Mac OS X, +03000000110100002014000001000000,SteelSeries Nimbus,a:b0,b:b1,dpdown:b9,dpleft:b11,dpright:b10,dpup:b8,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3~,x:b2,y:b3,platform:Mac OS X, +03000000381000002014000001000000,SteelSeries Nimbus,a:b0,b:b1,dpdown:b9,dpleft:b11,dpright:b10,dpup:b8,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3~,x:b2,y:b3,platform:Mac OS X, +05000000484944204465766963650000,SteelSeries Nimbus Plus,a:b0,b:b1,back:b15,dpdown:b11,dpleft:b13,dpright:b12,dpup:b10,guide:b16,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3~,start:b14,x:b2,y:b3,platform:Mac OS X, +050000004e696d6275732b0000000000,SteelSeries Nimbus Plus,a:b0,b:b1,back:b15,dpdown:b11,dpleft:b13,dpright:b12,dpup:b10,guide:b16,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3~,start:b14,x:b2,y:b3,platform:Mac OS X, +050000004e696d6275732b008b000000,SteelSeries Nimbus Plus,a:b0,b:b1,back:b15,dpdown:b11,dpleft:b13,dpright:b12,dpup:b10,guide:b16,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3~,start:b14,x:b2,y:b3,platform:Mac OS X, +05000000556e6b6e6f776e2048494400,SteelSeries Nimbus Plus,a:b0,b:b1,back:b15,dpdown:b11,dpleft:b13,dpright:b12,dpup:b10,guide:b16,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3~,start:b14,x:b2,y:b3,platform:Mac OS X, +03000000381000003014000000000000,SteelSeries Stratus Duo,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, +03000000381000003114000000000000,SteelSeries Stratus Duo,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, +03000000110100001714000000000000,SteelSeries Stratus XL,a:b0,b:b1,dpdown:b9,dpleft:b11,dpright:b10,dpup:b8,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3~,start:b12,x:b2,y:b3,platform:Mac OS X, +03000000110100001714000020010000,SteelSeries Stratus XL,a:b0,b:b1,dpdown:b9,dpleft:b11,dpright:b10,dpup:b8,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1~,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3~,start:b12,x:b2,y:b3,platform:Mac OS X, +030000000d0f0000f600000000010000,Switch Hori Pad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Mac OS X, +03000000457500002211000000010000,SZMY Power PC Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, +030000004f04000015b3000000000000,Thrustmaster Dual Analog 3.2,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Mac OS X, +030000004f0400000ed0000000020000,ThrustMaster eSwap Pro Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, +030000004f04000000b3000000000000,Thrustmaster Firestorm Dual Power,a:b0,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b11,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,rightx:a2,righty:a3,start:b10,x:b1,y:b3,platform:Mac OS X, +03000000571d00002100000021000000,Tomee NES Controller Adapter,a:b1,b:b0,back:b2,dpdown:+a4,dpleft:-a0,dpright:+a0,dpup:-a4,start:b3,platform:Mac OS X, +03000000bd12000015d0000000010000,Tomee Retro Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Mac OS X, +03000000bd12000015d0000000000000,Tomee SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Mac OS X, +03000000571d00002000000021000000,Tomee SNES Controller Adapter,a:b0,b:b1,back:b6,dpdown:+a4,dpleft:-a0,dpright:+a0,dpup:-a4,leftshoulder:b4,rightshoulder:b5,start:b7,x:b2,y:b3,platform:Mac OS X, +030000005f140000c501000000020000,Trust Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Mac OS X, +03000000100800000100000000000000,Twin USB Joystick,a:b4,b:b2,back:b16,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b12,leftstick:b20,lefttrigger:b8,leftx:a0,lefty:a2,rightshoulder:b14,rightstick:b22,righttrigger:b10,rightx:a6,righty:a4,start:b18,x:b6,y:b0,platform:Mac OS X, +030000006f0e00000302000025040000,Victrix PS4 Pro Fightstick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X, +030000006f0e00000702000003060000,Victrix PS4 Pro Fightstick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X, +050000005769696d6f74652028303000,Wii Remote,a:b4,b:b5,back:b7,dpdown:b3,dpleft:b0,dpright:b1,dpup:b2,guide:b8,leftshoulder:b11,lefttrigger:b12,leftx:a0,lefty:a1,start:b6,x:b10,y:b9,platform:Mac OS X, +050000005769696d6f74652028313800,Wii U Pro Controller,a:b16,b:b15,back:b7,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b8,leftshoulder:b19,leftstick:b23,lefttrigger:b21,leftx:a0,lefty:a1,rightshoulder:b20,rightstick:b24,righttrigger:b22,rightx:a2,righty:a3,start:b6,x:b18,y:b17,platform:Mac OS X, +030000005e0400008e02000000000000,Xbox 360 Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, +030000006f0e00000104000000000000,Xbox 360 Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, +03000000c6240000045d000000000000,Xbox 360 Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, +030000005e0400000a0b000000000000,Xbox Adaptive Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, +030000005e040000050b000003090000,Xbox Elite Controller Series 2,a:b0,b:b1,back:b31,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b53,leftshoulder:b6,leftstick:b13,lefttrigger:a6,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X, +030000005e040000130b000011050000,Xbox One Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X, +030000005e040000200b000011050000,Xbox One Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X, +030000005e040000d102000000000000,Xbox One Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, +030000005e040000dd02000000000000,Xbox One Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, +030000005e040000e002000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Mac OS X, +030000005e040000e002000003090000,Xbox One Controller,a:b0,b:b1,back:b16,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b15,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X, +030000005e040000e302000000000000,Xbox One Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, +030000005e040000ea02000000000000,Xbox One Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, +030000005e040000fd02000003090000,Xbox One Controller,a:b0,b:b1,back:b16,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b15,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X, +03000000c62400003a54000000000000,Xbox One PowerA Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, +030000005e040000130b000001050000,Xbox Series Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X, +030000005e040000130b000005050000,Xbox Series Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X, +030000005e040000130b000009050000,Xbox Series Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X, +030000005e040000130b000013050000,Xbox Series Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X, +03000000172700004431000029010000,XiaoMi Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b15,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a6,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Mac OS X, +03000000120c0000100e000000010000,Zeroplus P4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, +03000000120c0000101e000000010000,Zeroplus P4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, + +# Linux +030000005e0400008e02000020010000,8BitDo Adapter,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +03000000c82d00000031000011010000,8BitDo Adapter,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +03000000c82d00000951000000010000,8BitDo Dogbone,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,rightx:a2,righty:a3,start:b11,platform:Linux, +03000000021000000090000011010000,8BitDo FC30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +03000000c82d00000090000011010000,8BitDo FC30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +05000000c82d00001038000000010000,8BitDo FC30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +03000000c82d00001151000011010000,8BitDo Lite SE,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +05000000c82d00001151000000010000,8BitDo Lite SE,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +03000000c82d00000151000000010000,8BitDo M30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +03000000c82d00000650000011010000,8BitDo M30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,start:b11,x:b3,y:b4,platform:Linux, +05000000c82d00005106000000010000,8BitDo M30,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,start:b11,x:b3,y:b4,platform:Linux, +03000000c82d00000451000000010000,8BitDo N30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,rightx:a2,righty:a3,start:b11,platform:Linux, +03000000c82d00001590000011010000,8BitDo N30 Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +05000000c82d00006528000000010000,8BitDo N30 Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +03000000008000000210000011010000,8BitDo NES30,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux, +03000000c82d00000310000011010000,8BitDo NES30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b7,lefttrigger:b6,rightshoulder:b9,righttrigger:b8,start:b11,x:b3,y:b4,platform:Linux, +05000000c82d00008010000000010000,8BitDo NES30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b7,lefttrigger:b6,rightshoulder:b9,righttrigger:b8,start:b11,x:b3,y:b4,platform:Linux, +03000000022000000090000011010000,8BitDo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +03000000c82d00000190000011010000,8BitDo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +05000000203800000900000000010000,8BitDo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +05000000c82d00002038000000010000,8BitDo NES30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +03000000c82d00000751000000010000,8BitDo P30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:a8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +05000000c82d00000851000000010000,8BitDo P30,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:a8,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +03000000c82d00000660000011010000,8BitDo Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +05000000c82d00000660000000010000,8BitDo Pro 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +03000000c82d00000131000011010000,8BitDo Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +03000000c82d00000231000011010000,8BitDo Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +03000000c82d00000331000011010000,8BitDo Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +03000000c82d00000431000011010000,8BitDo Receiver,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +03000000c82d00002867000000010000,8BitDo S30,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b8,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:b7,rightx:a2,righty:a3,start:b10,x:b3,y:b4,platform:Linux, +05000000c82d00000060000000010000,8BitDo SF30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +05000000c82d00000061000000010000,8BitDo SF30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +030000003512000012ab000010010000,8BitDo SFC30,a:b2,b:b1,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b7,x:b3,y:b0,platform:Linux, +030000003512000021ab000010010000,8BitDo SFC30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Linux, +03000000c82d000021ab000010010000,8BitDo SFC30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Linux, +05000000102800000900000000010000,8BitDo SFC30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Linux, +05000000c82d00003028000000010000,8BitDo SFC30,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Linux, +05000000c82d00000351000000010000,8BitDo SN30,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +03000000c82d00000160000000000000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Linux, +03000000c82d00000160000011010000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +03000000c82d00000161000000000000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Linux, +03000000c82d00001290000011010000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a3,righty:a4,start:b11,x:b4,y:b3,platform:Linux, +05000000c82d00000161000000010000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b2,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +05000000c82d00006228000000010000,8BitDo SN30 Pro,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +03000000c82d00000260000011010000,8BitDo SN30 Pro+,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +05000000c82d00000261000000010000,8BitDo SN30 Pro+,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +05000000202800000900000000010000,8BitDo SNES30,a:b1,b:b0,back:b10,dpdown:b122,dpleft:b119,dpright:b120,dpup:b117,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Linux, +05000000a00500003232000001000000,8BitDo Zero,a:b0,b:b1,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Linux, +05000000a00500003232000008010000,8BitDo Zero,a:b0,b:b1,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b3,y:b4,platform:Linux, +03000000c82d00001890000011010000,8BitDo Zero 2,a:b1,b:b0,back:b10,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b11,x:b4,y:b3,platform:Linux, +050000005e040000e002000030110000,8BitDo Zero 2,a:b0,b:b1,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b7,x:b2,y:b3,platform:Linux, +05000000c82d00003032000000010000,8BitDo Zero 2,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,rightx:a2,righty:a3,start:b11,x:b4,y:b3,platform:Linux, +03000000c01100000355000011010000,Acrux Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +030000006f0e00003901000000430000,Afterglow Prismatic Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000006f0e00003901000013020000,Afterglow Prismatic Controller 048-007-NA,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000006f0e00001302000000010000,Afterglow Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000006f0e00003901000020060000,Afterglow Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +03000000100000008200000011010000,Akishop Customs PS360,a:b1,b:b2,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux, +030000007c1800000006000010010000,Alienware Dual Compatible Game PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b3,platform:Linux, +05000000491900000204000021000000,Amazon Fire Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b17,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,misc1:b12,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +03000000491900001904000011010000,Amazon Luna Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,misc1:b9,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b7,x:b2,y:b3,platform:Linux, +05000000710100001904000000010000,Amazon Luna Controller,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,misc1:b11,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Linux, +03000000790000003018000011010000,Arcade Fightstick F300,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux, +03000000a30c00002700000011010000,Astro City Mini,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,rightshoulder:b4,righttrigger:b5,start:b9,x:b3,y:b0,platform:Linux, +03000000a30c00002800000011010000,Astro City Mini,a:b2,b:b1,back:b8,leftx:a0,lefty:a1,rightshoulder:b4,righttrigger:b5,start:b9,x:b3,y:b0,platform:Linux, +05000000050b00000045000031000000,Asus Gamepad,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b6,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b10,x:b2,y:b3,platform:Linux, +05000000050b00000045000040000000,Asus Gamepad,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b6,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b10,x:b2,y:b3,platform:Linux, +03000000503200000110000000000000,Atari Classic Controller,a:b0,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b4,start:b3,x:b1,platform:Linux, +03000000503200000110000011010000,Atari Classic Controller,a:b0,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b4,start:b3,x:b1,platform:Linux, +05000000503200000110000000000000,Atari Classic Controller,a:b0,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b4,start:b3,x:b1,platform:Linux, +05000000503200000110000044010000,Atari Classic Controller,a:b0,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b4,start:b3,x:b1,platform:Linux, +05000000503200000110000046010000,Atari Classic Controller,a:b0,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b4,start:b3,x:b1,platform:Linux, +03000000503200000210000000000000,Atari Controller,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a4,rightx:a2,righty:a3,start:b8,x:b2,y:b3,platform:Linux, +03000000503200000210000011010000,Atari Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b2,platform:Linux, +05000000503200000210000000000000,Atari Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b2,platform:Linux, +05000000503200000210000045010000,Atari Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b2,platform:Linux, +05000000503200000210000046010000,Atari Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b2,platform:Linux, +05000000503200000210000047010000,Atari VCS Modern Controller,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:+a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:-a4,rightx:a2,righty:a3,start:b8,x:b2,y:b3,platform:Linux, +03000000c62400001b89000011010000,BDA MOGA XP5X Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +03000000d62000002a79000011010000,BDA PS4 Fightpad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +03000000c21100000791000011010000,Be1 GC101 Controller 1.03,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, +03000000c31100000791000011010000,Be1 GC101 Controller 1.03,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +030000005e0400008e02000003030000,Be1 GC101 Xbox 360,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +05000000bc2000000055000001000000,BETOP AX1 BFM,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +03000000bc2000006412000011010000,Betop Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b30,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, +030000006b1400000209000011010000,Bigben,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +03000000666600006706000000010000,Boom PSX to PC Converter,a:b2,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a2,righty:a3,start:b11,x:b3,y:b0,platform:Linux, +03000000120c0000200e000011010000,Brook Mars PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +03000000120c0000210e000011010000,Brook Mars PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +03000000120c0000f70e000011010000,Brook Universal Fighting Board,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,rightstick:b11,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux, +03000000e82000006058000001010000,Cideko AK08b,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, +030000000b0400003365000000010000,Competition Pro,a:b0,b:b1,back:b2,leftx:a0,lefty:a1,start:b3,platform:Linux, +03000000260900008888000000010000,Cyber Gadget GameCube Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b6,righttrigger:a5,rightx:a2,righty:a3~,start:b7,x:b2,y:b3,platform:Linux, +03000000a306000022f6000011010000,Cyborg V3 Rumble,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:+a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:-a3,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Linux, +03000000791d00000103000010010000,Dual Box Wii Classic Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, +030000006f0e00003001000001010000,EA Sports PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +03000000c11100000191000011010000,EasySMX,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, +03000000242f00009100000000010000,EasySMX ESM-9101,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000006e0500000320000010010000,Elecom U3613M,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b0,y:b1,platform:Linux, +030000006e0500000720000010010000,Elecom W01U,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b1,platform:Linux, +030000007d0400000640000010010000,Eliminator AfterShock,a:b1,b:b2,back:b9,dpdown:+a3,dpleft:-a5,dpright:+a5,dpup:-a3,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a4,righty:a2,start:b8,x:b0,y:b3,platform:Linux, +03000000430b00000300000000010000,EMS Production PS2 Adapter,a:b2,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a5,righty:a2,start:b9,x:b3,y:b0,platform:Linux, +03000000b40400001124000011010000,Flydigi Vader 2,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b12,lefttrigger:a5,leftx:a0,lefty:a1,paddle1:b2,paddle2:b5,paddle4:b17,rightshoulder:b7,rightstick:b13,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +05000000151900004000000001000000,Flydigi Vader 2,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux, +03000000ac0500005b05000010010000,GameSir G3w,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, +03000000bc2000000055000011010000,GameSir G3w,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +03000000558500001b06000010010000,GameSir G4 Pro,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +05000000ac0500002d0200001b010000,GameSir G4s,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b33,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +03000000bc2000005656000011010000,GameSir T4w,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +0500000047532047616d657061640000,GameStop Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux, +030000006f0e00000104000000010000,Gamestop Logic3 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000008f0e00000800000010010000,Gasia PlayStation Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, +03000000451300000010000010010000,Genius Maxfire Grandias 12,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux, +03000000f0250000c183000010010000,Goodbetterbest Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +0300000079000000d418000000010000,GPD Win 2 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000007d0400000540000000010000,Gravis Eliminator Pro,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux, +03000000280400000140000000010000,Gravis GamePad Pro,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux, +030000008f0e00000610000000010000,GreenAsia Electronics Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a3,righty:a2,start:b11,x:b3,y:b0,platform:Linux, +030000008f0e00001200000010010000,GreenAsia Joystick,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b2,y:b3,platform:Linux, +0500000047532067616d657061640000,GS gamepad,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux, +03000000f0250000c383000010010000,GT VX2,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, +06000000adde0000efbe000002010000,Hidromancer Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +03000000d81400000862000011010000,HitBox PS3 PC Analog Mode,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,guide:b9,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b12,x:b0,y:b3,platform:Linux, +03000000c9110000f055000011010000,HJC Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux, +03000000632500002605000010010000,HJDX,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +030000000d0f00000d00000000010000,Hori,a:b0,b:b6,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b3,rightshoulder:b7,start:b9,x:b1,y:b2,platform:Linux, +030000000d0f00006d00000020010000,Hori EDGE 301,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:+a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:+a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000000d0f00005f00000011010000,Hori Fighting Commander 4 PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +030000000d0f00005e00000011010000,Hori Fighting Commander 4 PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +030000000d0f00005001000009040000,Hori Fighting Commander OCTA Xbox One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000000d0f00008500000010010000,Hori Fighting Commander PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +030000000d0f00008600000002010000,Hori Fighting Commander Xbox 360,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux, +030000000d0f00008800000011010000,Hori Fighting Stick mini 4 (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,rightstick:b11,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux, +030000000d0f00008700000011010000,Hori Fighting Stick mini 4 (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,rightshoulder:b5,rightstick:b11,righttrigger:a4,start:b9,x:b0,y:b3,platform:Linux, +030000000d0f00001000000011010000,Hori Fightstick 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux, +03000000ad1b000003f5000033050000,Hori Fightstick VX,+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b8,guide:b10,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b2,y:b3,platform:Linux, +030000000d0f00004d00000011010000,Hori Gem Pad 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +03000000ad1b000001f5000033050000,Hori Pad EX Turbo 2,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000000d0f00003801000011010000,Hori PC Engine Mini Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,start:b9,platform:Linux, +030000000d0f00009200000011010000,Hori Pokken Tournament DX Pro,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux, +030000000d0f0000aa00000011010000,Hori Real Arcade Pro,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, +030000000d0f00001100000011010000,Hori Real Arcade Pro 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +030000000d0f00002200000011010000,Hori Real Arcade Pro 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux, +030000000d0f00006a00000011010000,Hori Real Arcade Pro 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +030000000d0f00006b00000011010000,Hori Real Arcade Pro 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +030000000d0f00001600000000010000,Hori Real Arcade Pro EXSE,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b2,y:b3,platform:Linux, +030000000d0f00006e00000011010000,Horipad 4 PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +030000000d0f00006600000011010000,Horipad 4 PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +030000000d0f0000ee00000011010000,Horipad Mini 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +030000000d0f00006700000001010000,Horipad One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000000d0f0000c100000011010000,Horipad S,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b13,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +050000000d0f0000f600000001000000,Horipad Switch Pro Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux, +03000000341a000005f7000010010000,HuiJia GameCube Controller Adapter,a:b1,b:b2,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b0,y:b3,platform:Linux, +030000008f0e00001330000010010000,HuiJia SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b9,x:b3,y:b0,platform:Linux, +03000000242e00008816000001010000,Hyperkin X91,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +03000000830500006020000010010000,iBuffalo SNES Controller,a:b1,b:b0,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b7,x:b3,y:b2,platform:Linux, +050000006964726f69643a636f6e0000,idroidcon Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +03000000b50700001503000010010000,Impact,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Linux, +03000000d80400008200000003000000,IMS PCU0,a:b1,b:b0,back:b4,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,start:b5,x:b3,y:b2,platform:Linux, +03000000120c00000500000010010000,InterAct AxisPad,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,start:b11,x:b0,y:b1,platform:Linux, +03000000ef0500000300000000010000,InterAct AxisPad,a:b2,b:b3,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,start:b11,x:b0,y:b1,platform:Linux, +03000000fd0500000030000000010000,InterAct GoPad,a:b3,b:b4,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b5,x:b0,y:b1,platform:Linux, +03000000fd0500002a26000000010000,InterAct HammerHead FX,a:b3,b:b4,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b2,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b5,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b0,y:b1,platform:Linux, +0500000049190000020400001b010000,Ipega PG 9069,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b161,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +03000000632500007505000011010000,Ipega PG 9099,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, +0500000049190000030400001b010000,Ipega PG9099,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +05000000491900000204000000000000,Ipega PG9118,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +03000000300f00001001000010010000,Jess Tech Dual Analog Rumble,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Linux, +03000000300f00000b01000010010000,Jess Tech GGE909 PC Recoil,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Linux, +03000000ba2200002010000001010000,Jess Technology Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Linux, +030000007e0500000620000001000000,Joy-Con (L),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b13,leftshoulder:b4,leftstick:b10,rightshoulder:b5,start:b8,x:b2,y:b3,platform:Linux, +050000007e0500000620000001000000,Joy-Con (L),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b13,leftshoulder:b4,leftstick:b10,rightshoulder:b5,start:b8,x:b2,y:b3,platform:Linux, +030000007e0500000720000001000000,Joy-Con (R),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b12,leftshoulder:b4,leftstick:b11,rightshoulder:b5,start:b9,x:b2,y:b3,platform:Linux, +050000007e0500000720000001000000,Joy-Con (R),+leftx:h0.2,+lefty:h0.4,-leftx:h0.8,-lefty:h0.1,a:b0,b:b1,back:b12,leftshoulder:b4,leftstick:b11,rightshoulder:b5,start:b9,x:b2,y:b3,platform:Linux, +03000000bd12000003c0000010010000,Joypad Alpha Shock,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +03000000242f00002d00000011010000,JYS Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, +03000000242f00008a00000011010000,JYS Adapter,a:b1,b:b4,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b0,y:b3,platform:Linux, +030000006f0e00000103000000020000,Logic3 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000006d040000d1ca000000000000,Logitech Chillstream,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +030000006d04000019c2000010010000,Logitech Cordless RumblePad 2,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +030000006d04000016c2000010010000,Logitech Dual Action,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +030000006d04000016c2000011010000,Logitech Dual Action,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +030000006d0400001dc2000014400000,Logitech F310,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000006d0400001ec2000019200000,Logitech F510,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000006d0400001ec2000020200000,Logitech F510,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000006d04000019c2000011010000,Logitech F710,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +030000006d0400001fc2000005030000,Logitech F710,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000006d04000018c2000010010000,Logitech RumblePad 2,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +030000006d04000011c2000010010000,Logitech WingMan Cordless RumblePad,a:b0,b:b1,back:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b6,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b10,rightx:a3,righty:a4,start:b8,x:b3,y:b4,platform:Linux, +030000006d0400000ac2000010010000,Logitech WingMan RumblePad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b2,rightx:a3,righty:a4,x:b3,y:b4,platform:Linux, +05000000380700006652000025010000,Mad Catz CTRLR,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +03000000380700008532000010010000,Mad Catz Fightpad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b5,rightshoulder:b6,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux, +03000000380700005032000011010000,Mad Catz Fightpad Pro PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +03000000380700005082000011010000,Mad Catz Fightpad Pro PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +03000000ad1b00002ef0000090040000,Mad Catz Fightpad SFxT,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,start:b7,x:b2,y:b3,platform:Linux, +03000000380700008034000011010000,Mad Catz Fightstick PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +03000000380700008084000011010000,Mad Catz Fightstick PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +03000000380700008433000011010000,Mad Catz Fightstick TE S PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +03000000380700008483000011010000,Mad Catz Fightstick TE S PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +03000000380700001888000010010000,Mad Catz Joystick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +03000000380700003888000010010000,Mad Catz Joystick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:a0,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +03000000380700001647000010040000,Mad Catz Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +03000000380700003847000090040000,Mad Catz Xbox 360 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux, +03000000ad1b000016f0000090040000,Mad Catz Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +03000000120c00000500000000010000,Manta Dualshock 2,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b2,y:b3,platform:Linux, +03000000790000004318000010010000,Mayflash GameCube Adapter,a:b1,b:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b2,y:b3,platform:Linux, +03000000790000004418000010010000,Mayflash GameCube Controller,a:b1,b:b0,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b2,y:b3,platform:Linux, +03000000242f00007300000011010000,Mayflash Magic NS,a:b1,b:b4,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,rightshoulder:b7,rightstick:b14,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b0,y:b3,platform:Linux, +0300000079000000d218000011010000,Mayflash Magic NS,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +03000000d620000010a7000011010000,Mayflash Magic NS,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +03000000242f0000f700000001010000,Mayflash Magic S Pro,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +0300000025090000e803000001010000,Mayflash Wii Classic Adapter,a:b1,b:b0,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:a4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:a5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Linux, +03000000790000000318000011010000,Mayflash Wii DolphinBar,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b11,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b1,platform:Linux, +03000000b50700001203000010010000,Mega World Logic 3 Controller,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Linux, +03000000780000000600000010010000,Microntek Joystick,a:b2,b:b1,back:b8,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,start:b9,x:b3,y:b0,platform:Linux, +030000005e0400002800000000010000,Microsoft Dual Strike,a:b3,b:b2,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8,rightshoulder:b7,rightx:a0,righty:a1~,start:b5,x:b1,y:b0,platform:Linux, +030000005e0400000e00000000010000,Microsoft SideWinder,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,rightshoulder:b7,start:b8,x:b3,y:b4,platform:Linux, +030000005e0400000700000000010000,Microsoft SideWinder Gamepad,a:b0,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b7,rightshoulder:b5,righttrigger:b2,start:b9,x:b3,y:b4,platform:Linux, +030000005e0400002700000000010000,Microsoft SideWinder Plug and Play,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,lefttrigger:b4,righttrigger:b5,x:b2,y:b3,platform:Linux, +030000005e0400008502000000010000,Microsoft Xbox,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b2,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b4,platform:Linux, +030000005e0400008e02000001000000,Microsoft Xbox 360,a:b0,b:b1,back:b6,dpdown:h0.1,dpleft:h0.2,dpright:h0.8,dpup:h0.4,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000005e0400008e02000004010000,Microsoft Xbox 360,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000005e0400008e02000056210000,Microsoft Xbox 360,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000005e0400008e02000062230000,Microsoft Xbox 360,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000005e040000120b00000b050000,Microsoft Xbox One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000005e040000d102000001010000,Microsoft Xbox One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000005e040000d102000003020000,Microsoft Xbox One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +060000005e040000120b000009050000,Microsoft Xbox One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000005e040000dd02000003020000,Microsoft Xbox One 2015,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000005e040000e302000003020000,Microsoft Xbox One Elite,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000005e040000000b000008040000,Microsoft Xbox One Elite 2,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +050000005e040000050b000003090000,Microsoft Xbox One Elite 2,a:b0,b:b1,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a6,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +030000005e040000ea02000008040000,Microsoft Xbox One S,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000005e0400008902000021010000,Microsoft Xbox pad v2,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b2,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b4,platform:Linux, +03000000030000000300000002000000,Miroof,a:b1,b:b0,back:b6,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,start:b7,x:b3,y:b2,platform:Linux, +050000004d4f435554452d3035335800,Mocute 053X,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux, +050000004d4f435554452d3035305800,Mocute 054X,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +05000000d6200000e589000001000000,Moga 2,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Linux, +05000000d6200000ad0d000001000000,Moga Pro,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Linux, +05000000d62000007162000001000000,Moga Pro 2,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Linux, +03000000c62400002b89000011010000,MOGA XP5A Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +05000000c62400002a89000000010000,MOGA XP5A Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b22,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +05000000c62400001a89000000010000,MOGA XP5X Plus,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +03000000250900006688000000010000,MP8866 Super Dual Box,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Linux, +030000005e0400008e02000010020000,MSI GC20 V2,a:b0,b:b1,back:b6,dpdown:b13,dpleft:b14,dpright:b15,dpup:b12,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000006b1400000906000014010000,Nacon Asymmetric Wireless PS4 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000006b140000010c000010010000,Nacon GC 400ES,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux, +03000000853200000706000012010000,Nacon GC-100,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000000d0f00000900000010010000,Natec Genesis P44,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +030000004f1f00000800000011010000,NeoGeo PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux, +0300000092120000474e000000010000,NeoGeo X Arcade Stick,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,start:b9,x:b3,y:b2,platform:Linux, +03000000790000004518000010010000,Nexilux GameCube Controller Adapter,a:b1,b:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b2,y:b3,platform:Linux, +030000001008000001e5000010010000,NEXT SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,righttrigger:b6,start:b9,x:b3,y:b0,platform:Linux, +060000007e0500003713000000000000,Nintendo 3DS,a:b0,b:b1,back:b8,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Linux, +030000007e0500003703000000016800,Nintendo GameCube Controller,a:b0,b:b2,dpdown:b6,dpleft:b4,dpright:b5,dpup:b7,lefttrigger:a4,leftx:a0,lefty:a1~,rightshoulder:b9,righttrigger:a5,rightx:a2,righty:a3~,start:b8,x:b1,y:b3,platform:Linux, +03000000790000004618000010010000,Nintendo GameCube Controller Adapter,a:b1,b:b0,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,rightx:a5~,righty:a2~,start:b9,x:b2,y:b3,platform:Linux, +060000007e0500000620000000000000,Nintendo Switch Combined Joy-Cons,a:b0,b:b1,back:b9,dpdown:b15,dpleft:b16,dpright:b17,dpup:b14,leftshoulder:b5,leftstick:b12,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b13,righttrigger:b8,rightx:a2,righty:a3,start:b10,x:b3,y:b2,platform:Linux, +060000007e0500000820000000000000,Nintendo Switch Combined Joy-Cons,a:b0,b:b1,back:b9,dpdown:b15,dpleft:b16,dpright:b17,dpup:b14,guide:b11,leftshoulder:b5,leftstick:b12,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b13,righttrigger:b8,rightx:a2,righty:a3,start:b10,x:b3,y:b2,platform:Linux, +050000004c69632050726f20436f6e00,Nintendo Switch Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux, +050000007e0500000620000001800000,Nintendo Switch Left Joy-Con,a:b16,b:b15,back:b4,leftshoulder:b6,leftstick:b12,leftx:a1,lefty:a0~,rightshoulder:b8,start:b9,x:b14,y:b17,platform:Linux, +03000000d620000013a7000011010000,Nintendo Switch PowerA Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +03000000d620000011a7000011010000,Nintendo Switch PowerA Core Plus Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +030000007e0500000920000011810000,Nintendo Switch Pro Controller,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b11,leftshoulder:b5,leftstick:b12,lefttrigger:b7,leftx:a0,lefty:a1,misc1:b4,rightshoulder:b6,rightstick:b13,righttrigger:b8,rightx:a2,righty:a3,start:b10,x:b3,y:b2,platform:Linux, +050000007e0500000920000001000000,Nintendo Switch Pro Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,misc1:b4,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux, +050000007e0500000920000001800000,Nintendo Switch Pro Controller,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b11,leftshoulder:b5,leftstick:b12,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b13,righttrigger:b8,rightx:a2,righty:a3,start:b10,x:b3,y:b2,platform:Linux, +050000007e0500000720000001800000,Nintendo Switch Right Joy-Con,a:b1,b:b2,back:b9,leftshoulder:b4,leftstick:b10,leftx:a1~,lefty:a0,rightshoulder:b6,start:b8,x:b0,y:b3,platform:Linux, +05000000010000000100000003000000,Nintendo Wii Remote,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux, +050000007e0500003003000001000000,Nintendo Wii Remote Pro Controller,a:b0,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b16,dpup:b13,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Linux, +030000000d0500000308000010010000,Nostromo n45 Dual Analog,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b4,leftstick:b12,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b10,x:b2,y:b3,platform:Linux, +050000007e0500001920000001000000,NSO N64 Controller,+rightx:b8,+righty:b7,-rightx:b3,-righty:b2,a:b1,b:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,misc1:b13,rightshoulder:b5,righttrigger:b10,start:b9,platform:Linux, +050000007e0500001720000001000000,NSO SNES Controller,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b11,leftshoulder:b5,leftstick:b12,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b13,righttrigger:b8,rightx:a2,righty:a3,start:b10,x:b3,y:b2,platform:Linux, +03000000550900001072000011010000,NVIDIA Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b13,leftshoulder:b4,leftstick:b8,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3,platform:Linux, +03000000550900001472000011010000,NVIDIA Controller v01.04,a:b0,b:b1,back:b14,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b16,leftshoulder:b4,leftstick:b7,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a5,start:b6,x:b2,y:b3,platform:Linux, +05000000550900001472000001000000,NVIDIA Controller v01.04,a:b0,b:b1,back:b14,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b16,leftshoulder:b4,leftstick:b7,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a5,start:b6,x:b2,y:b3,platform:Linux, +03000000451300000830000010010000,NYKO CORE,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +19000000010000000100000001010000,odroidgo2 joypad,a:b1,b:b0,dpdown:b7,dpleft:b8,dpright:b9,dpup:b6,guide:b10,leftshoulder:b4,leftstick:b12,lefttrigger:b11,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b13,righttrigger:b14,start:b15,x:b2,y:b3,platform:Linux, +19000000010000000200000011000000,odroidgo2 joypad v11,a:b1,b:b0,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b12,leftshoulder:b4,leftstick:b14,lefttrigger:b13,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b15,righttrigger:b16,start:b17,x:b2,y:b3,platform:Linux, +03000000c0160000dc27000001010000,OnyxSoft Dual JoyDivision,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b6,x:b2,y:b3,platform:Linux, +05000000362800000100000002010000,OUYA Controller,a:b0,b:b3,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b14,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,x:b1,y:b2,platform:Linux, +05000000362800000100000003010000,OUYA Controller,a:b0,b:b3,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b14,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,x:b1,y:b2,platform:Linux, +05000000362800000100000004010000,OUYA Controller,a:b0,b:b3,back:b14,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,leftshoulder:b4,leftstick:b6,lefttrigger:b12,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:b13,rightx:a3,righty:a4,start:b16,x:b1,y:b2,platform:Linux, +03000000830500005020000010010000,Padix Rockfire PlayStation Bridge,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b11,x:b2,y:b3,platform:Linux, +03000000790000001c18000011010000,PC Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, +03000000ff1100003133000010010000,PC Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, +030000006f0e0000b802000001010000,PDP Afterglow Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000006f0e0000b802000013020000,PDP Afterglow Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000006f0e00006401000001010000,PDP Battlefield One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000006f0e0000d702000006640000,PDP Black Camo Wired Xbox Series X Controller,a:b0,b:b1,back:b6,dpdown:b13,dpleft:b14,dpright:b13,dpup:b14,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000006f0e00003101000000010000,PDP EA Sports Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000006f0e00008001000011010000,PDP Faceoff Nintendo Switch Pro Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +030000006f0e0000c802000012010000,PDP Kingdom Hearts Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000006f0e00008501000011010000,PDP Nintendo Switch Fightpad Pro,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, +030000006f0e00002801000011010000,PDP PS3 Rock Candy Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +030000006f0e00008701000011010000,PDP Rock Nintendo Switch Candy Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b13,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, +030000006f0e00000901000011010000,PDP Versus Fighting,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux, +030000006f0e0000a802000023020000,PDP Xbox One Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux, +030000006f0e0000a702000023020000,PDP Xbox One Raven Black,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000004c050000da0c000011010000,PlayStation Controller,a:b2,b:b1,back:b8,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,start:b9,x:b3,y:b0,platform:Linux, +03000000d9040000160f000000010000,PlayStation Controller Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Linux, +030000004c0500003713000011010000,PlayStation Vita,a:b1,b:b2,back:b8,dpdown:b13,dpleft:b15,dpright:b14,dpup:b12,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Linux, +03000000c62400000053000000010000,PowerA,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +03000000c62400003a54000001010000,PowerA 1428124-01,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +03000000d62000000140000001010000,PowerA Fusion Pro 2 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +03000000c62400001a53000000010000,PowerA Mini Pro Ex,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +03000000d62000006dca000011010000,PowerA Pro Ex,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +03000000c62400001a58000001010000,PowerA Xbox One,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +03000000d62000000220000001010000,PowerA Xbox One Controller,a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Linux, +03000000d62000000228000001010000,PowerA Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +03000000c62400001a54000001010000,PowerA Xbox One Mini Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +03000000d62000000240000001010000,PowerA Xbox One Spectra Infinity,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000006d040000d2ca000011010000,Precision Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +03000000ff1100004133000010010000,PS2 Controller,a:b2,b:b1,back:b8,leftshoulder:b6,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,start:b9,x:b3,y:b0,platform:Linux, +03000000341a00003608000011010000,PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +030000004c0500006802000010010000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Linux, +030000004c0500006802000010810000,PS3 Controller,a:b0,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b16,dpup:b13,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,platform:Linux, +030000004c0500006802000011010000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Linux, +030000004c0500006802000011810000,PS3 Controller,a:b0,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b16,dpup:b13,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,platform:Linux, +030000005f1400003102000010010000,PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, +030000006f0e00001402000011010000,PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +030000008f0e00000300000010010000,PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, +050000004c0500006802000000000000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Linux, +050000004c0500006802000000010000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:a12,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:a13,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Linux, +050000004c0500006802000000800000,PS3 Controller,a:b0,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b16,dpup:b13,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,platform:Linux, +050000004c0500006802000000810000,PS3 Controller,a:b0,b:b1,back:b8,dpdown:b14,dpleft:b15,dpright:b16,dpup:b13,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,platform:Linux, +05000000504c415953544154494f4e00,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Linux, +060000004c0500006802000000010000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Linux, +030000004c050000a00b000011010000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +030000004c050000a00b000011810000,PS4 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,platform:Linux, +030000004c050000c405000011010000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +030000004c050000c405000011810000,PS4 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,platform:Linux, +030000004c050000cc09000000010000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +030000004c050000cc09000011010000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +030000004c050000cc09000011810000,PS4 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,platform:Linux, +03000000c01100000140000011010000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +050000004c050000c405000000010000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +050000004c050000c405000000810000,PS4 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,platform:Linux, +050000004c050000c405000001800000,PS4 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,platform:Linux, +050000004c050000cc09000000010000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +050000004c050000cc09000000810000,PS4 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,platform:Linux, +050000004c050000cc09000001800000,PS4 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,platform:Linux, +030000004c050000e60c000011010000,PS5 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3,platform:Linux, +030000004c050000e60c000011810000,PS5 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,platform:Linux, +050000004c050000e60c000000010000,PS5 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3,platform:Linux, +050000004c050000e60c000000810000,PS5 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,platform:Linux, +03000000300f00001211000011010000,Qanba Arcade Joystick,a:b2,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b5,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b6,start:b9,x:b1,y:b3,platform:Linux, +03000000222c00000225000011010000,Qanba Dragon Arcade Joystick (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +03000000222c00000025000011010000,Qanba Dragon Arcade Joystick (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +03000000300f00001210000010010000,Qanba Joystick Plus,a:b0,b:b1,back:b8,leftshoulder:b5,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b4,righttrigger:b6,start:b9,x:b2,y:b3,platform:Linux, +03000000222c00000223000011010000,Qanba Obsidian Arcade Joystick (PS3),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +03000000222c00000023000011010000,Qanba Obsidian Arcade Joystick (PS4),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +030000009b2800000300000001010000,Raphnet 4nes4snes,a:b0,b:b4,back:b2,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b3,x:b1,y:b5,platform:Linux, +030000009b2800004200000001010000,Raphnet Dual NES Adapter,a:b0,b:b1,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,start:b3,platform:Linux, +030000009b2800003200000001010000,Raphnet GC and N64 Adapter,a:b0,b:b7,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b5,rightx:a3,righty:a4,start:b3,x:b1,y:b8,platform:Linux, +030000009b2800006000000001010000,Raphnet GC and N64 Adapter,a:b0,b:b7,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b5,rightx:a3,righty:a4,start:b3,x:b1,y:b8,platform:Linux, +030000008916000001fd000024010000,Razer Onza Classic Edition,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000008916000000fd000024010000,Razer Onza Tournament Edition,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +03000000321500000204000011010000,Razer Panthera PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +03000000321500000104000011010000,Razer Panthera PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +03000000321500000810000011010000,Razer Panthera PS4 Evo Arcade Stick,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b13,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +03000000321500000010000011010000,Razer Raiju,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +03000000321500000507000000010000,Razer Raiju Mobile,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b21,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +05000000321500000a10000001000000,Razer Raiju Tournament Edition,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b13,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +03000000321500000011000011010000,Razer Raion PS4 Fightpad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +030000008916000000fe000024010000,Razer Sabertooth,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +03000000c6240000045d000024010000,Razer Sabertooth,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +03000000c6240000045d000025010000,Razer Sabertooth,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +03000000321500000009000011010000,Razer Serval,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3,platform:Linux, +050000003215000000090000163a0000,Razer Serval,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3,platform:Linux, +0300000032150000030a000001010000,Razer Wildcat,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +03000000790000001100000010010000,Retro Controller,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b7,rightshoulder:b4,righttrigger:b5,start:b9,x:b0,y:b3,platform:Linux, +0300000081170000990a000001010000,Retronic Adapter,a:b0,leftx:a0,lefty:a1,platform:Linux, +0300000000f000000300000000010000,RetroPad,a:b1,b:b5,back:b2,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b3,x:b0,y:b4,platform:Linux, +00000000526574726f53746f6e653200,RetroStone 2 Controller,a:b1,b:b0,back:b10,dpdown:b15,dpleft:b16,dpright:b17,dpup:b14,leftshoulder:b6,lefttrigger:b8,rightshoulder:b7,righttrigger:b9,start:b11,x:b4,y:b3,platform:Linux, +030000006b140000010d000011010000,Revolution Pro Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +030000006b140000130d000011010000,Revolution Pro Controller 3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +030000006f0e00001f01000000010000,Rock Candy,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000006f0e00001e01000011010000,Rock Candy PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +03000000c6240000fefa000000010000,Rock Candy Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000006f0e00004601000001010000,Rock Candy Xbox One Controller,a:b0,b:b1,back:b6,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +03000000a306000023f6000011010000,Saitek Cyborg V1 PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Linux, +03000000a30600001005000000010000,Saitek P150,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b7,lefttrigger:b6,rightshoulder:b2,righttrigger:b5,x:b3,y:b4,platform:Linux, +03000000a30600000701000000010000,Saitek P220,a:b2,b:b3,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b7,rightshoulder:b4,righttrigger:b5,x:b0,y:b1,platform:Linux, +03000000a30600000cff000010010000,Saitek P2500 Force Rumble,a:b2,b:b3,back:b11,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,start:b10,x:b0,y:b1,platform:Linux, +03000000a30600000c04000011010000,Saitek P2900,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b12,x:b0,y:b3,platform:Linux, +03000000a306000018f5000010010000,Saitek P3200 Rumble,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b0,y:b3,platform:Linux, +03000000300f00001201000010010000,Saitek P380,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,platform:Linux, +03000000a30600000901000000010000,Saitek P880,a:b2,b:b3,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a3,righty:a2,x:b0,y:b1,platform:Linux, +03000000a30600000b04000000010000,Saitek P990 Dual Analog,a:b1,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b8,x:b0,y:b3,platform:Linux, +03000000a306000020f6000011010000,Saitek PS2700 Rumble,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a4,start:b9,x:b0,y:b3,platform:Linux, +03000000d81d00000e00000010010000,Savior,a:b0,b:b1,back:b8,leftshoulder:b6,leftstick:b10,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b2,rightstick:b11,righttrigger:b3,start:b9,x:b4,y:b5,platform:Linux, +03000000a30c00002500000011010000,Sega Genesis Mini 3B Controller,a:b2,b:b1,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,righttrigger:b5,start:b9,platform:Linux, +03000000790000001100000011010000,Sega Saturn,a:b1,b:b2,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b7,rightshoulder:b5,righttrigger:b4,start:b9,x:b0,y:b3,platform:Linux, +03000000790000002201000011010000,Sega Saturn,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b5,rightshoulder:b6,righttrigger:b7,start:b9,x:b2,y:b3,platform:Linux, +03000000b40400000a01000000010000,Sega Saturn,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b7,rightshoulder:b5,righttrigger:b2,start:b8,x:b3,y:b4,platform:Linux, +030000001f08000001e4000010010000,SFC Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Linux, +03000000632500002305000010010000,ShanWan Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, +03000000f025000021c1000010010000,Shanwan Gioteck PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, +03000000632500007505000010010000,Shanwan PS3 PC,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, +03000000bc2000000055000010010000,Shanwan PS3 PC ,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +03000000341a00000908000010010000,SL6566,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux, +050000004c050000cc09000001000000,Sony DualShock 4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +03000000ff000000cb01000010010000,Sony PlayStation Portable,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,start:b7,x:b2,y:b3,platform:Linux, +03000000250900000500000000010000,Sony PS2 pad with SmartJoy Adapter,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Linux, +030000005e0400008e02000073050000,Speedlink Torid,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000005e0400008e02000020200000,SpeedLink Xeox Pro Analog,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +03000000d11800000094000011010000,Stadia Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3,platform:Linux, +03000000de2800000112000001000000,Steam Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,paddle1:b11,paddle2:b10,rightshoulder:b5,righttrigger:a3,start:b7,x:b2,y:b3,platform:Linux, +03000000de2800000112000011010000,Steam Controller,a:b2,b:b3,back:b10,dpdown:+a5,dpleft:-a4,dpright:+a4,dpup:-a5,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a7,leftx:a0,lefty:a1,paddle1:b15,paddle2:b16,rightshoulder:b7,rightstick:b14,righttrigger:a6,rightx:a2,righty:a3,start:b11,x:b4,y:b5,platform:Linux, +03000000de2800000211000001000000,Steam Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,paddle1:b11,paddle2:b10,rightshoulder:b5,righttrigger:a3,start:b7,x:b2,y:b3,platform:Linux, +03000000de2800000211000011010000,Steam Controller,a:b2,b:b3,back:b10,dpdown:b18,dpleft:b19,dpright:b20,dpup:b17,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,paddle1:b16,paddle2:b15,rightshoulder:b7,righttrigger:b9,rightx:a2,righty:a3,start:b11,x:b4,y:b5,platform:Linux, +03000000de2800004211000001000000,Steam Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,paddle1:b11,paddle2:b10,rightshoulder:b5,righttrigger:a3,start:b7,x:b2,y:b3,platform:Linux, +03000000de2800004211000011010000,Steam Controller,a:b2,b:b3,back:b10,dpdown:b18,dpleft:b19,dpright:b20,dpup:b17,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a7,leftx:a0,lefty:a1,paddle1:b16,paddle2:b15,rightshoulder:b7,righttrigger:a6,rightx:a2,righty:a3,start:b11,x:b4,y:b5,platform:Linux, +03000000de280000fc11000001000000,Steam Controller,a:b0,b:b1,back:b6,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +05000000de2800000212000001000000,Steam Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,paddle1:b11,paddle2:b10,rightshoulder:b5,righttrigger:a3,start:b7,x:b2,y:b3,platform:Linux, +05000000de2800000511000001000000,Steam Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,paddle1:b11,paddle2:b10,rightshoulder:b5,righttrigger:a3,start:b7,x:b2,y:b3,platform:Linux, +05000000de2800000611000001000000,Steam Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,paddle1:b11,paddle2:b10,rightshoulder:b5,righttrigger:a3,start:b7,x:b2,y:b3,platform:Linux, +03000000de280000ff11000001000000,Steam Virtual Gamepad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +050000004e696d6275732b0000000000,SteelSeries Nimbus Plus,a:b0,b:b1,back:b10,guide:b11,leftshoulder:b4,leftstick:b8,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:b7,rightx:a2,righty:a3,start:b12,x:b2,y:b3,platform:Linux, +03000000381000003014000075010000,SteelSeries Stratus Duo,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +03000000381000003114000075010000,SteelSeries Stratus Duo,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +0500000011010000311400001b010000,SteelSeries Stratus Duo,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b32,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +05000000110100001914000009010000,SteelSeries Stratus XL,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +03000000ad1b000038f0000090040000,Street Fighter IV Fightstick TE,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000003b07000004a1000000010000,Suncom SFX Plus,a:b0,b:b2,back:b7,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b4,rightshoulder:b9,righttrigger:b5,start:b8,x:b1,y:b3,platform:Linux, +03000000666600000488000000010000,Super Joy Box 5 Pro,a:b2,b:b1,back:b9,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b3,y:b0,platform:Linux, +0300000000f00000f100000000010000,Super RetroPort,a:b1,b:b5,back:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,rightshoulder:b7,start:b3,x:b0,y:b4,platform:Linux, +030000008f0e00000d31000010010000,SZMY Power 3 Turbo,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +03000000457500002211000010010000,SZMY Power Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, +030000008f0e00001431000010010000,SZMY Power PS3,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +03000000ba2200000701000001010000,Technology Innovation PS2 Adapter,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a5,righty:a2,start:b9,x:b3,y:b2,platform:Linux, +030000004f04000015b3000001010000,Thrustmaster Dual Analog 3.2,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Linux, +030000004f04000015b3000010010000,Thrustmaster Dual Analog 4,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Linux, +030000004f04000020b3000010010000,Thrustmaster Dual Trigger,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Linux, +030000004f04000023b3000000010000,Thrustmaster Dual Trigger PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +030000004f0400000ed0000011010000,Thrustmaster eSwap Pro Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +03000000b50700000399000000010000,Thrustmaster Firestorm Digital 2,a:b2,b:b4,back:b11,leftshoulder:b6,leftstick:b10,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b8,rightstick:b0,righttrigger:b9,start:b1,x:b3,y:b5,platform:Linux, +030000004f04000003b3000010010000,Thrustmaster Firestorm Dual Analog 2,a:b0,b:b2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b9,rightx:a2,righty:a3,x:b1,y:b3,platform:Linux, +030000004f04000000b3000010010000,Thrustmaster Firestorm Dual Power,a:b0,b:b2,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b11,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b10,x:b1,y:b3,platform:Linux, +030000004f04000004b3000010010000,Thrustmaster Firestorm Dual Power,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Linux, +030000004f04000026b3000002040000,Thrustmaster GP XID,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +03000000c6240000025b000002020000,Thrustmaster GPX,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000004f04000008d0000000010000,Thrustmaster Run N Drive PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +030000004f04000009d0000000010000,Thrustmaster Run N Drive PlayStation Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +030000004f04000007d0000000010000,Thrustmaster T Mini,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, +030000004f04000012b3000010010000,Thrustmaster Vibrating Gamepad,a:b0,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b1,y:b3,platform:Linux, +03000000571d00002000000010010000,Tomee SNES Adapter,a:b0,b:b1,back:b6,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b7,x:b2,y:b3,platform:Linux, +03000000bd12000015d0000010010000,Tomee SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,start:b9,x:b3,y:b0,platform:Linux, +03000000d814000007cd000011010000,Toodles 2008 Chimp PC PS3,a:b0,b:b1,back:b8,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,start:b9,x:b3,y:b2,platform:Linux, +030000005e0400008e02000070050000,Torid,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +03000000c01100000591000011010000,Torid,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, +030000005f140000c501000010010000,Trust Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Linux, +03000000100800000100000010010000,Twin PS2 Adapter,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Linux, +03000000100800000300000010010000,USB Gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Linux, +03000000790000000600000007010000,USB gamepad,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a3,righty:a4,start:b9,x:b3,y:b0,platform:Linux, +03000000790000001100000000010000,USB Gamepad,a:b2,b:b1,back:b8,dpdown:a0,dpleft:a1,dpright:a2,dpup:a4,start:b9,platform:Linux, +030000006f0e00000302000011010000,Victrix Pro Fightstick PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux, +030000006f0e00000702000011010000,Victrix Pro Fightstick PS4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Linux, +05000000ac0500003232000001000000,VR Box Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b9,x:b2,y:b3,platform:Linux, +0000000058626f782033363020576900,Xbox 360 Controller,a:b0,b:b1,back:b14,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,guide:b7,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Linux, +030000005e0400001907000000010000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000005e0400008e02000010010000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000005e0400008e02000014010000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000005e0400009102000007010000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000005e040000a102000000010000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000005e040000a102000007010000,Xbox 360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000005e0400008e02000000010000,Xbox 360 EasySMX,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000005e040000a102000014010000,Xbox 360 Receiver,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000005e0400000202000000010000,Xbox Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b2,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b4,platform:Linux, +030000006f0e00001304000000010000,Xbox Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +03000000ffff0000ffff000000010000,Xbox Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b5,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b2,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b3,y:b4,platform:Linux, +0000000058626f782047616d65706100,Xbox Gamepad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a4,rightx:a2,righty:a3,start:b7,x:b2,y:b3,platform:Linux, +030000005e0400000a0b000005040000,Xbox One Controller,a:b1,b:b0,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b11,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Linux, +030000005e040000120b000009050000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000005e040000d102000002010000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000005e040000ea02000000000000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000005e040000ea02000001030000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +050000005e040000e002000003090000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +050000005e040000fd02000003090000,Xbox One Controller,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b16,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +050000005e040000fd02000030110000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +060000005e040000120b000007050000,Xbox One Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +050000005e040000e302000002090000,Xbox One Elite,a:b0,b:b1,back:b136,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a6,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +050000005e040000050b000002090000,Xbox One Elite Series 2,a:b0,b:b1,back:b136,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b13,lefttrigger:a6,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a5,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +060000005e040000ea0200000b050000,Xbox One S Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000005e040000120b000001050000,Xbox Series Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000005e040000120b000005050000,Xbox Series Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000005e040000120b00000d050000,Xbox Series Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,misc1:b11,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +030000005e040000130b000005050000,Xbox Series Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +050000005e040000130b000001050000,Xbox Series Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +050000005e040000130b000005050000,Xbox Series Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +050000005e040000130b000009050000,Xbox Series Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,misc1:b15,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +050000005e040000130b000013050000,Xbox Series Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,misc1:b15,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +060000005e040000120b00000b050000,Xbox Series Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +050000005e040000130b000011050000,Xbox Series X Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,misc1:b15,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +030000005e040000120b000007050000,Xbox Series X Controller,a:b0,b:b1,x:b2,y:b3,back:b6,guide:b8,start:b7,leftstick:b9,rightstick:b10,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,misc1:b11,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,platform:Linux, +050000005e040000130b000007050000,Xbox Wireless Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Linux, +03000000450c00002043000010010000,XEOX SL6556 BK,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux, +05000000172700004431000029010000,XiaoMi Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b20,leftshoulder:b6,leftstick:b13,lefttrigger:a7,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a6,rightx:a2,righty:a5,start:b11,x:b3,y:b4,platform:Linux, +03000000c0160000e105000001010000,XinMo Dual Arcade,a:b4,b:b3,back:b6,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b9,leftshoulder:b2,leftx:a0,lefty:a1,rightshoulder:b5,start:b7,x:b1,y:b0,platform:Linux, +xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, +03000000120c0000100e000011010000,Zeroplus P4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, +03000000120c0000101e000011010000,Zeroplus P4,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, + +# Android +38653964633230666463343334313533,8BitDo Adapter,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:b17,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:b18,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +36666264316630653965636634386234,8BitDo Adapter 2,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b19,leftshoulder:b9,leftstick:b7,lefttrigger:b17,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:b18,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +38426974446f20417263616465205374,8BitDo Arcade Stick,a:b0,b:b1,back:b15,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,guide:b5,leftshoulder:b9,lefttrigger:a4,rightshoulder:b10,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +61393962646434393836356631636132,8BitDo Arcade Stick,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b20,righttrigger:a5,rightx:a3,righty:a4,start:b10,x:b19,y:b2,platform:Android, +64323139346131306233636562663738,8BitDo Arcade Stick,a:b0,b:b1,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b3,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b20,righttrigger:b10,rightx:a2,righty:a3,start:b18,x:b19,y:b2,platform:Android, +64643565386136613265663236636564,8BitDo Arcade Stick,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b20,righttrigger:a5,rightx:a3,righty:a4,start:b10,x:b19,y:b2,platform:Android, +33313433353539306634656436353432,8BitDo Dogbone,a:b1,b:b0,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +38426974446f20446f67626f6e65204d,8BitDo Dogbone,a:b1,b:b0,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,rightx:a2,righty:a3,start:b6,platform:Android, +34343439373236623466343934376233,8BitDo FC30 Pro,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,leftstick:b28,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b4,rightstick:b29,righttrigger:b7,start:b5,x:b30,y:b2,platform:Android, +38393936616436383062666232653338,8BitDo Lite SE,a:b1,b:b0,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:b17,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:b18,rightx:a2,righty:a3,start:b6,x:b3,y:b2,platform:Android, +38426974446f2038426974446f204c69,8BitDo Lite SE,a:b1,b:b0,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:b17,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:b18,rightx:a2,righty:a3,start:b6,x:b3,y:b2,platform:Android, +39356430616562366466646636643435,8BitDo Lite SE,a:b1,b:b0,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:b17,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:b18,rightx:a2,righty:a3,start:b6,x:b3,y:b2,platform:Android, +05000000c82d000006500000ffff3f00,8BitDo M30,a:b1,b:b0,back:b4,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,guide:b17,leftshoulder:b9,lefttrigger:a5,rightshoulder:b10,righttrigger:a4,start:b6,x:b3,y:b2,platform:Android, +05000000c82d000051060000ffff3f00,8BitDo M30,a:b1,b:b0,back:b4,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,guide:b17,leftshoulder:b9,lefttrigger:a4,rightshoulder:b10,righttrigger:a5,start:b6,x:b3,y:b2,platform:Android, +32323161363037623637326438643634,8BitDo M30,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,rightshoulder:b9,righttrigger:b10,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +33656266353630643966653238646264,8BitDo M30,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b20,righttrigger:a5,start:b10,x:b19,y:b2,platform:Android, +38426974446f204d3330204d6f646b69,8BitDo M30,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,rightshoulder:b9,righttrigger:b10,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +39366630663062373237616566353437,8BitDo M30,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,lefttrigger:b17,leftx:a0,lefty:a1,rightshoulder:b10,righttrigger:b18,start:b6,x:b2,y:b3,platform:Android, +64653533313537373934323436343563,8BitDo M30,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:a4,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b9,righttrigger:b10,start:b6,x:b2,y:b3,platform:Android, +66356438346136366337386437653934,8BitDo M30,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b20,righttrigger:b10,start:b18,x:b19,y:b2,platform:Android, +66393064393162303732356665666366,8BitDo M30,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,righttrigger:a5,start:b6,x:b2,y:b3,platform:Android, +33663431326134333366393233616633,8BitDo N30,a:b1,b:b0,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,rightx:a2,righty:a3,start:b6,platform:Android, +38426974446f204e3330204d6f646b69,8BitDo N30,a:b1,b:b0,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,rightx:a2,righty:a3,start:b6,platform:Android, +05000000c82d000015900000ffff3f00,8BitDo N30 Pro 2,a:b1,b:b0,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b3,y:b2,platform:Android, +05000000c82d000065280000ffff3f00,8BitDo N30 Pro 2,a:b1,b:b0,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b17,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b3,y:b2,platform:Android, +050000000220000000900000ffff3f00,8BitDo NES30 Pro,a:b1,b:b0,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b3,y:b2,platform:Android, +050000002038000009000000ffff3f00,8BitDo NES30 Pro,a:b1,b:b0,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b3,y:b2,platform:Android, +38313433643131656262306631373166,8BitDo P30,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,lefttrigger:b17,leftx:a0,lefty:a1,rightshoulder:b10,righttrigger:b18,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +38326536643339353865323063616339,8BitDo P30,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,lefttrigger:b17,leftx:a0,lefty:a1,rightshoulder:b10,righttrigger:b18,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +38426974446f2050333020636c617373,8BitDo P30,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,lefttrigger:b17,leftx:a0,lefty:a1,rightshoulder:b10,righttrigger:b18,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +35376664343164386333616535333434,8BitDo Pro 2,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,leftstick:b17,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b20,rightstick:b18,righttrigger:a5,rightx:a3,start:b10,x:b19,y:b2,platform:Android, +38426974446f2038426974446f205072,8BitDo Pro 2,a:b1,b:b0,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:b17,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:b18,rightx:a2,righty:a3,start:b6,x:b3,y:b2,platform:Android, +38426974446f2050726f203200000000,8BitDo Pro 2,a:b1,b:b0,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:b17,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:b18,rightx:a2,righty:a3,start:b6,x:b3,y:b2,platform:Android, +62373739366537363166326238653463,8BitDo Pro 2,a:b1,b:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,x:b3,y:b2,platform:Android, +38386464613034326435626130396565,8BitDo Receiver,a:b1,b:b0,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b19,leftshoulder:b9,leftstick:b7,lefttrigger:b17,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:b18,rightx:a2,righty:a3,start:b6,x:b3,y:b2,platform:Android, +38426974446f2038426974446f205265,8BitDo Receiver,a:b1,b:b0,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b19,leftshoulder:b9,leftstick:b7,lefttrigger:b17,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:b18,rightx:a2,righty:a3,start:b6,x:b3,y:b2,platform:Android, +66303230343038613365623964393766,8BitDo Receiver,a:b1,b:b0,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b19,leftshoulder:b9,leftstick:b7,lefttrigger:b17,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:b18,rightx:a2,righty:a3,start:b6,x:b3,y:b2,platform:Android, +38426974446f20533330204d6f646b69,8BitDo S30,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:a4,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b9,righttrigger:b10,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +66316462353561376330346462316137,8BitDo S30,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:a4,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b9,righttrigger:b10,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +05000000c82d000000600000ffff3f00,8BitDo SF30 Pro,a:b1,b:b0,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:b15,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:b16,rightx:a2,righty:a3,start:b6,x:b3,y:b2,platform:Android, +05000000c82d000000610000ffff3f00,8BitDo SF30 Pro,a:b1,b:b0,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b3,y:b2,platform:Android, +38426974646f20534633302050726f00,8BitDo SF30 Pro,a:b1,b:b0,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,leftstick:b15,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b18,rightstick:b16,righttrigger:a5,rightx:a3,righty:a4,start:b10,x:b2,y:b17,platform:Android, +61623334636338643233383735326439,8BitDo SFC30,a:b0,b:b1,back:b4,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b3,rightshoulder:b31,start:b5,x:b30,y:b2,platform:Android, +05000000c82d000012900000ffff3f00,8BitDo SN30,a:b1,b:b0,back:b4,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b9,rightshoulder:b10,start:b6,x:b3,y:b2,platform:Android, +05000000c82d000062280000ffff3f00,8BitDo SN30,a:b1,b:b0,back:b4,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b9,rightshoulder:b10,start:b6,x:b3,y:b2,platform:Android, +38316230613931613964356666353839,8BitDo SN30,a:b1,b:b0,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftx:a0,lefty:a1,rightshoulder:b10,rightx:a2,righty:a3,start:b6,x:b3,y:b2,platform:Android, +38426974446f20534e3330204d6f646b,8BitDo SN30,a:b1,b:b0,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftx:a0,lefty:a1,rightshoulder:b10,rightx:a2,righty:a3,start:b6,x:b3,y:b2,platform:Android, +65323563303231646531383162646335,8BitDo SN30,a:b1,b:b0,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftx:a0,lefty:a1,rightshoulder:b10,rightx:a2,righty:a3,start:b6,x:b3,y:b2,platform:Android, +35383531346263653330306238353131,8BitDo SN30 PP,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +05000000c82d000001600000ffff3f00,8BitDo SN30 Pro,a:b1,b:b0,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b3,y:b2,platform:Android, +36653638656632326235346264663661,8BitDo SN30 Pro Plus,a:b0,b:b1,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,leftstick:b15,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b20,rightstick:b6,righttrigger:b10,rightx:a2,righty:a3,start:b18,x:b19,y:b2,platform:Android, +38303232393133383836366330346462,8BitDo SN30 Pro Plus,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,leftstick:b17,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b20,rightstick:b18,righttrigger:a5,rightx:a3,righty:a4,start:b10,x:b19,y:b2,platform:Android, +38346630346135363335366265656666,8BitDo SN30 Pro Plus,a:b1,b:b0,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:b17,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:b18,rightx:a2,righty:a3,start:b6,x:b3,y:b2,platform:Android, +38426974446f20534e33302050726f2b,8BitDo SN30 Pro Plus,a:b1,b:b0,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b19,leftshoulder:b9,leftstick:b7,lefttrigger:b17,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:b18,rightx:a2,righty:a3,start:b6,x:b3,y:b2,platform:Android, +536f6e7920436f6d707574657220456e,8BitDo SN30 Pro Plus,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +66306331643531333230306437353936,8BitDo SN30 Pro Plus,a:b1,b:b0,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:b17,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:b18,rightx:a2,righty:a3,start:b6,x:b3,y:b2,platform:Android, +05000000c82d000002600000ffff0f00,8BitDo SN30 Pro+,a:b1,b:b0,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b17,leftshoulder:b9,leftstick:b7,lefttrigger:b15,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:b16,rightx:a2,righty:a3,start:b6,x:b3,y:b2,platform:Android, +050000002028000009000000ffff3f00,8BitDo SNES30,a:b1,b:b0,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b3,y:b2,platform:Android, +050000003512000020ab000000780f00,8BitDo SNES30,a:b21,b:b20,back:b30,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b26,rightshoulder:b27,start:b31,x:b24,y:b23,platform:Android, +33666663316164653937326237613331,8BitDo Zero,a:b0,b:b1,back:b15,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b9,rightshoulder:b10,start:b6,x:b2,y:b3,platform:Android, +38426974646f205a65726f2047616d65,8BitDo Zero,a:b0,b:b1,back:b15,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b9,rightshoulder:b10,start:b6,x:b2,y:b3,platform:Android, +05000000c82d000018900000ffff0f00,8BitDo Zero 2,a:b1,b:b0,back:b4,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b9,rightshoulder:b10,start:b6,x:b3,y:b2,platform:Android, +05000000c82d000030320000ffff0f00,8BitDo Zero 2,a:b1,b:b0,back:b4,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b9,rightshoulder:b10,start:b6,x:b3,y:b2,platform:Android, +33663434393362303033616630346337,8BitDo Zero 2,a:b0,b:b1,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,leftx:a0,lefty:a1,rightshoulder:b20,start:b18,x:b19,y:b2,platform:Android, +34656330626361666438323266633963,8BitDo Zero 2,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b20,start:b10,x:b19,y:b2,platform:Android, +63396666386564393334393236386630,8BitDo Zero 2,a:b1,b:b0,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftx:a0,lefty:a1,rightshoulder:b10,start:b6,x:b3,y:b2,platform:Android, +63633435623263373466343461646430,8BitDo Zero 2,a:b1,b:b0,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftx:a0,lefty:a1,rightshoulder:b10,start:b6,x:b2,y:b3,platform:Android, +32333634613735616163326165323731,Amazon Luna Controller,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,x:b2,y:b3,platform:Android, +417374726f2063697479206d696e6920,Astro City Mini,a:b23,b:b22,back:b29,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,rightshoulder:b25,righttrigger:b26,start:b30,x:b24,y:b21,platform:Android, +32303165626138343962363666346165,Brook Mars PS4 Controller,a:b1,b:b19,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,leftstick:b15,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b20,rightstick:b6,righttrigger:b10,rightx:a2,righty:a3,start:b18,x:b0,y:b2,platform:Android, +38383337343564366131323064613561,Brook Mars PS4 Controller,a:b1,b:b19,back:b17,leftshoulder:b3,leftstick:b15,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b20,rightstick:b6,righttrigger:b10,rightx:a2,righty:a3,start:b18,x:b0,y:b2,platform:Android, +34313430343161653665353737323365,Elecom JC-W01U,a:b23,b:b24,back:b29,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b25,lefttrigger:b27,leftx:a0,lefty:a1,rightshoulder:b26,righttrigger:b28,rightx:a2,righty:a3,start:b30,x:b21,y:b22,platform:Android, +4875694a6961204a432d573031550000,Elecom JC-W01U,a:b23,b:b24,back:b29,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b25,lefttrigger:b27,leftx:a0,lefty:a1,rightshoulder:b26,righttrigger:b28,rightx:a2,righty:a3,start:b30,x:b21,y:b22,platform:Android, +30363230653635633863366338623265,Evo VR,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,x:b2,y:b3,platform:Android, +05000000b404000011240000dfff3f00,Flydigi Vader 2,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,paddle1:b17,paddle2:b18,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +05000000bc20000000550000ffff3f00,GameSir G3w,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +34323662653333636330306631326233,Google Nexus,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +35383633353935396534393230616564,Google Stadia Controller,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +05000000d6020000e5890000dfff3f00,GPD XD Plus,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a4,rightx:a2,righty:a5,start:b6,x:b2,y:b3,platform:Android, +0500000031366332860c44aadfff0f00,GS Gamepad,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:b15,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:b16,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +66633030656131663837396562323935,Hori Battle,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Android, +35623466343433653739346434636330,Hori Fighting Commander 3 Pro,a:b1,b:b19,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b20,righttrigger:b10,rightx:a2,righty:a3,start:b18,x:b0,y:b2,platform:Android, +484f524920434f2e2c4c54442e203130,Hori Fighting Commander 3 Pro,a:b1,b:b19,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b20,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b3,righttrigger:b9,rightx:a2,righty:a3,start:b18,x:b0,y:b2,platform:Android, +484f524920434f2e2c4c544420205041,Hori Gem Pad 3,a:b1,b:b17,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,leftstick:b4,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b18,rightstick:b6,righttrigger:b10,rightx:a2,righty:a3,start:b16,x:b0,y:b2,platform:Android, +65656436646661313232656661616130,Hori PC Engine Mini Controller,a:b1,b:b19,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,start:b18,platform:Android, +31303433326562636431653534636633,Hori Real Arcade Pro 3,a:b1,b:b19,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b20,righttrigger:b10,rightx:a2,righty:a3,start:b18,x:b0,y:b2,platform:Android, +30306539356238653637313730656134,HORIPAD Switch Pro Controller,a:b0,b:b1,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b3,leftstick:b15,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b20,rightstick:b6,righttrigger:b10,rightx:a2,righty:a3,start:b18,x:b19,y:b2,platform:Android, +0500000083050000602000000ffe0000,iBuffalo SNES Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b15,rightshoulder:b16,start:b10,x:b2,y:b3,platform:Android, +64306137363261396266353433303531,InterAct GoPad,a:b24,b:b25,leftshoulder:b23,lefttrigger:b27,leftx:a0,lefty:a1,rightshoulder:b26,righttrigger:b28,x:b21,y:b22,platform:Android, +532e542e442e20496e74657261637420,InterAct HammerHead FX,a:b23,b:b24,back:b30,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b26,leftstick:b22,lefttrigger:b28,leftx:a0,lefty:a1,rightshoulder:b27,rightstick:b25,righttrigger:b29,rightx:a2,righty:a3,start:b31,x:b20,y:b21,platform:Android, +65346535636333663931613264643164,Joy-Con,a:b21,b:b22,back:b29,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b25,lefttrigger:b27,leftx:a0,lefty:a1,rightshoulder:b26,righttrigger:b28,rightx:a2,righty:a3,start:b30,x:b23,y:b24,platform:Android, +33346566643039343630376565326335,Joy-Con (L),a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,leftstick:b15,rightshoulder:b20,start:b17,x:b19,y:b2,platform:Android, +35313531613435623366313835326238,Joy-Con (L),a:b0,b:b1,back:b7,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,leftstick:b15,rightshoulder:b20,start:b17,x:b19,y:b2,platform:Android, +4a6f792d436f6e20284c290000000000,Joy-Con (L),a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,rightshoulder:b20,start:b17,x:b19,y:b2,platform:Android, +38383665633039363066383334653465,Joy-Con (R),a:b0,b:b1,back:b5,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,leftstick:b15,rightshoulder:b20,start:b18,x:b19,y:b2,platform:Android, +39363561613936303237333537383931,Joy-Con (R),a:b0,b:b1,back:b5,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,leftstick:b15,rightshoulder:b20,start:b18,x:b19,y:b2,platform:Android, +4a6f792d436f6e202852290000000000,Joy-Con (R),a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,rightshoulder:b20,start:b18,x:b19,y:b2,platform:Android, +39656136363638323036303865326464,JYS Aapter,a:b1,b:b19,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,leftstick:b15,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b20,rightstick:b6,righttrigger:b10,rightx:a2,righty:a3,start:b18,x:b0,y:b2,platform:Android, +63316564383539663166353034616434,JYS Adapter,a:b1,b:b3,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:b17,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:b18,rightx:a2,righty:a3,start:b6,x:b0,y:b2,platform:Android, +64623163333561643339623235373232,Logitech F310,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +35623364393661626231343866613337,Logitech F710,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:b17,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:b18,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +4c6f6769746563682047616d65706164,Logitech F710,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +64396331333230326333313330336533,Logitech F710,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +416d617a6f6e2047616d6520436f6e74,Luna Controller,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Android, +4c756e612047616d6570616400000000,Luna Controller,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +30363066623539323534363639323363,Magic NS,a:b1,b:b19,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,leftstick:b15,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b20,rightstick:b6,righttrigger:b10,rightx:a2,righty:a3,start:b18,x:b0,y:b2,platform:Android, +31353762393935386662336365626334,Magic NS,a:b1,b:b19,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,leftstick:b15,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b20,rightstick:b6,righttrigger:b10,rightx:a2,righty:a3,start:b18,x:b0,y:b2,platform:Android, +39623565346366623931666633323530,Magic NS,a:b1,b:b3,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:b17,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:b18,rightx:a2,righty:a3,start:b6,x:b0,y:b2,platform:Android, +6d6179666c617368206c696d69746564,Mayflash GameCube Adapter,a:b22,b:b21,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:b25,leftx:a0,lefty:a1,rightshoulder:b28,righttrigger:b26,rightx:a5,righty:a2,start:b30,x:b23,y:b24,platform:Android, +436f6e74726f6c6c6572000000000000,Mayflash N64 Adapter,a:b1,b:b19,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b3,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b20,rightx:a2,righty:a3,start:b18,platform:Android, +65666330633838383061313633326461,Mayflash N64 Adapter,a:b1,b:b19,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b3,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b20,rightx:a2,righty:a3,start:b18,platform:Android, +535a4d792d706f776572204c54442043,Mayflash Wii Classic Adapter,a:b23,b:b22,back:b29,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b31,leftshoulder:b27,lefttrigger:b25,leftx:a0,lefty:a1,rightshoulder:b28,righttrigger:b26,rightx:a2,righty:a3,start:b30,x:b24,y:b21,platform:Android, +30653962643666303631376438373532,Mayflash Wii DolphinBar,a:b23,b:b24,back:b29,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b0,leftshoulder:b25,lefttrigger:b27,leftx:a0,lefty:a1,rightshoulder:b26,righttrigger:b28,rightx:a2,righty:a3,start:b30,x:b21,y:b22,platform:Android, +484a5a204d6179666c61736820576969,Mayflash Wii DolphinBar,a:b23,b:b24,back:b29,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b0,leftshoulder:b25,lefttrigger:b27,leftx:a0,lefty:a1,rightshoulder:b26,righttrigger:b28,rightx:a2,righty:a3,start:b30,x:b21,y:b22,platform:Android, +31323564663862633234646330373138,Mega Drive,a:b23,b:b22,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,rightshoulder:b25,righttrigger:b26,start:b30,x:b24,y:b21,platform:Android, +37333564393261653735306132613061,Mega Drive,a:b21,b:b22,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b26,lefttrigger:b28,rightshoulder:b27,righttrigger:b23,start:b30,x:b24,y:b25,platform:Android, +64363363336633363736393038313464,Mega Drive,a:b1,b:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,start:b9,x:b2,y:b3,platform:Android, +33323763323132376537376266393366,Microsoft Dual Strike,a:b24,b:b23,back:b25,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b27,lefttrigger:b29,rightshoulder:b78,rightx:a0,righty:a1~,start:b26,x:b22,y:b21,platform:Android, +30306461613834333439303734316539,Microsoft SideWinder Pro,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b20,lefttrigger:b9,rightshoulder:b19,righttrigger:b10,start:b17,x:b2,y:b3,platform:Android, +32386235353630393033393135613831,Microsoft Xbox Series Controller,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +4d4f435554452d303533582d4d35312d,Mocute 053X,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +33343361376163623438613466616531,Mocute M053,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:b17,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:b18,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +39306635663061636563316166303966,Mocute M053,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:b17,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:b18,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +7573622067616d657061642020202020,NEXT SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,righttrigger:b6,start:b9,x:b3,y:b0,platform:Android, +050000007e05000009200000ffff0f00,Nintendo Switch Pro Controller,a:b0,b:b1,back:b15,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,leftshoulder:b3,leftstick:b4,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b18,rightstick:b6,righttrigger:b10,rightx:a2,righty:a3,start:b16,x:b17,y:b2,platform:Android, +34323437396534643531326161633738,Nintendo Switch Pro Controller,a:b0,b:b1,back:b15,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b9,leftstick:b7,lefttrigger:b17,misc1:b5,rightshoulder:b10,rightstick:b8,righttrigger:b18,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +50726f20436f6e74726f6c6c65720000,Nintendo Switch Pro Controller,a:b0,b:b1,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b2,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b10,rightx:a2,righty:a3,start:b18,y:b3,platform:Android, +36326533353166323965623661303933,NSO N64 Controller,+rightx:b17,+righty:b10,-rightx:b2,-righty:b19,a:b1,b:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b3,lefttrigger:b9,leftx:a0,lefty:a1,misc1:b7,rightshoulder:b20,righttrigger:b15,start:b18,platform:Android, +4e363420436f6e74726f6c6c65720000,NSO N64 Controller,+rightx:b17,+righty:b10,-rightx:b2,-righty:b19,a:b1,b:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b3,lefttrigger:b9,leftx:a0,lefty:a1,misc1:b7,rightshoulder:b20,righttrigger:b15,start:b18,platform:Android, +534e455320436f6e74726f6c6c657200,NSO SNES Controller,a:b0,b:b1,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,rightshoulder:b20,start:b18,x:b19,y:b2,platform:Android, +64623863346133633561626136366634,NSO SNES Controller,a:b0,b:b1,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,rightshoulder:b20,start:b18,x:b19,y:b2,platform:Android, +050000005509000003720000cf7f3f00,NVIDIA Controller,a:b0,b:b1,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +050000005509000010720000ffff3f00,NVIDIA Controller,a:b0,b:b1,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +050000005509000014720000df7f3f00,NVIDIA Controller,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a4,rightx:a2,righty:a5,start:b6,x:b2,y:b3,platform:Android, +37336435666338653565313731303834,NVIDIA Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +4e564944494120436f72706f72617469,NVIDIA Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +61363931656135336130663561616264,NVIDIA Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +39383335313438623439373538343266,OUYA Controller,a:b0,b:b2,dpdown:b18,dpleft:b15,dpright:b16,dpup:b17,leftshoulder:b3,leftstick:b9,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b20,rightstick:b10,righttrigger:b7,rightx:a3,righty:a4,x:b1,y:b19,platform:Android, +4f5559412047616d6520436f6e74726f,OUYA Controller,a:b0,b:b2,dpdown:b18,dpleft:b15,dpright:b6,dpup:b17,leftshoulder:b3,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b20,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,x:b1,y:b19,platform:Android, +506572666f726d616e63652044657369,PDP PS3 Rock Candy Controller,a:b1,b:b17,back:h0.2,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,leftstick:b4,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b18,rightstick:b6,righttrigger:b10,rightx:a2,righty:a3,start:b16,x:b0,y:b2,platform:Android, +62653335326261303663356263626339,PlayStation Classic Controller,a:b19,b:b1,back:b17,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b9,lefttrigger:b3,rightshoulder:b10,righttrigger:b20,start:b18,x:b2,y:b0,platform:Android, +61653962353232366130326530363061,Pokken,a:b1,b:b19,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,lefttrigger:b9,rightshoulder:b20,righttrigger:b10,start:b18,x:b0,y:b2,platform:Android, +32666633663735353234363064386132,PS2,a:b23,b:b22,back:b29,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b27,lefttrigger:b25,leftx:a0,lefty:a1,rightshoulder:b28,righttrigger:b26,rightx:a3,righty:a2,start:b30,x:b24,y:b21,platform:Android, +050000004c05000068020000dfff3f00,PS3 Controller,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +536f6e7920504c415953544154494f4e,PS3 Controller,a:b0,b:b1,back:b15,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +61363034663839376638653463633865,PS3 Controller,a:b0,b:b1,back:b15,dpdown:a14,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:b17,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:b18,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +66366539656564653432353139356536,PS3 Controller,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +66383132326164626636313737373037,PS3 Controller,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +050000004c050000c405000000783f00,PS4 Controller,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +050000004c050000c4050000fffe3f00,PS4 Controller,a:b1,b:b17,back:b15,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,leftshoulder:b3,leftstick:b4,lefttrigger:+a3,leftx:a0,lefty:a1,rightshoulder:b18,rightstick:b6,righttrigger:+a4,rightx:a2,righty:a5,start:b16,x:b0,y:b2,platform:Android, +050000004c050000c4050000ffff3f00,PS4 Controller,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +050000004c050000cc090000fffe3f00,PS4 Controller,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +050000004c050000cc090000ffff3f00,PS4 Controller,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +30303839663330346632363232623138,PS4 Controller,a:b1,b:b17,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,leftstick:b4,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b18,rightstick:b6,righttrigger:a4,rightx:a2,righty:a5,start:b16,x:b0,y:b2,platform:Android, +31326235383662333266633463653332,PS4 Controller,a:b1,b:b16,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,leftstick:b4,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b18,rightstick:b6,righttrigger:a4,rightx:a2,righty:a5,start:b17,x:b0,y:b2,platform:Android, +31373231336561636235613666323035,PS4 Controller,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +31663838336334393132303338353963,PS4 Controller,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +34613139376634626133336530386430,PS4 Controller,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +35643031303033326130316330353564,PS4 Controller,a:b1,b:b17,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b3,leftstick:b4,lefttrigger:+a3,leftx:a0,lefty:a1,rightshoulder:b18,rightstick:b6,righttrigger:+a4,rightx:a2,righty:a5,start:b16,x:b0,y:b2,platform:Android, +37626233336235343937333961353732,PS4 Controller,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +38393161636261653636653532386639,PS4 Controller,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +536f6e7920496e746572616374697665,PS4 Controller,a:b0,b:b0,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +576972656c65737320436f6e74726f6c,PS4 Controller,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +63313733393535663339656564343962,PS4 Controller,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +63393662363836383439353064663939,PS4 Controller,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +65366465656364636137653363376531,PS4 Controller,a:b1,b:b19,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,leftstick:b15,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b20,rightstick:b6,righttrigger:b10,rightx:a2,righty:a3,start:b18,x:b0,y:b2,platform:Android, +66613532303965383534396638613230,PS4 Controller,a:b1,b:b19,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,leftstick:b15,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b20,rightstick:b6,righttrigger:b10,rightx:a2,righty:a5,start:b18,x:b0,y:b2,platform:Android, +050000004c050000e60c0000fffe3f00,PS5 Controller,a:b1,b:b17,back:b15,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,leftshoulder:b3,leftstick:b4,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b18,rightstick:b6,righttrigger:a4,rightx:a2,righty:a5,start:b16,x:b0,y:b2,platform:Android, +32346465346533616263386539323932,PS5 Controller,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +32633532643734376632656664383733,PS5 Controller,a:b1,b:b19,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,leftstick:b15,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b20,rightstick:b6,righttrigger:b10,rightx:a2,righty:a5,start:b18,x:b0,y:b2,platform:Android, +37363764353731323963323639666565,PS5 Controller,a:b1,b:b19,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,leftstick:b15,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b20,rightstick:b6,righttrigger:b10,rightx:a2,righty:a5,start:b18,x:b0,y:b2,platform:Android, +61303162353165316365336436343139,PS5 Controller,a:b1,b:b19,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,leftstick:b15,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b20,rightstick:b6,righttrigger:b10,rightx:a2,righty:a5,start:b18,x:b0,y:b2,platform:Android, +64336263393933626535303339616332,Qanba 4RAF,a:b0,b:b1,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b20,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:b3,righttrigger:b9,rightx:a2,righty:a3,start:b18,x:b19,y:b2,platform:Android, +36626666353861663864336130363137,Razer Junglecat,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +62653861643333663663383332396665,Razer Kishi,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +050000003215000005070000ffff3f00,Razer Raiju Mobile,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +050000003215000007070000ffff3f00,Razer Raiju Mobile,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +050000003215000000090000bf7f3f00,Razer Serval,a:b0,b:b1,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,x:b2,y:b3,platform:Android, +5a6869587520526574726f2042697420,Retro Bit Saturn Controller,a:b21,b:b22,back:b29,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b25,lefttrigger:b26,rightshoulder:b27,righttrigger:b28,start:b30,x:b23,y:b24,platform:Android, +32417865732031314b6579732047616d,Retro Bit SNES Controller,a:b0,b:b1,back:b15,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b9,rightshoulder:b10,start:b6,x:b2,y:b3,platform:Android, +36313938306539326233393732613361,Retro Bit SNES Controller,a:b0,b:b1,back:b15,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b9,rightshoulder:b10,start:b6,x:b2,y:b3,platform:Android, +526574726f466c616720576972656420,Retro Controller,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b17,rightshoulder:b18,start:b10,x:b2,y:b3,platform:Android, +61343739353764363165343237303336,Retro Controller,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b17,lefttrigger:b18,leftx:a0,lefty:a1,start:b10,x:b2,y:b3,platform:Android, +38653130373365613538333235303036,Retroid Pocket 2,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,lefttrigger:b17,leftx:a0,lefty:a1,rightshoulder:b10,righttrigger:b18,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +64363363336633363736393038313463,Retrolink,a:b1,b:b0,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,start:b6,platform:Android, +33373336396634316434323337666361,RumblePad 2,a:b22,b:b23,back:b29,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b25,lefttrigger:b27,leftx:a0,lefty:a1,rightshoulder:b26,righttrigger:b28,rightx:a2,righty:a3,start:b30,x:b21,y:b24,platform:Android, +66386565396238363534313863353065,Sanwa PlayOnline Mobile,a:b21,b:b22,back:b23,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,start:b24,platform:Android, +32383165316333383766336338373261,Saturn,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:a4,righttrigger:a5,x:b2,y:b3,platform:Android, +37316565396364386635383230353365,Saturn,a:b21,b:b22,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b26,lefttrigger:b28,rightshoulder:b27,righttrigger:b23,start:b30,x:b24,y:b25,platform:Android, +38613865396530353338373763623431,Saturn,a:b0,b:b1,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b9,lefttrigger:b10,rightshoulder:b20,righttrigger:b19,start:b17,x:b2,y:b3,platform:Android, +61316232336262373631343137633631,Saturn,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,lefttrigger:b10,leftx:a0,lefty:a1,rightshoulder:a4,righttrigger:a5,x:b2,y:b3,platform:Android, +30353835333338613130373363646337,SG H510,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,leftstick:b17,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b20,rightstick:b18,righttrigger:a5,rightx:a3,righty:a4,start:b10,x:b19,y:b2,platform:Android, +66386262366536653765333235343634,SG H510,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,x:b2,y:b3,platform:Android, +66633132393363353531373465633064,SG H510,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,leftstick:b17,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b20,rightstick:b18,righttrigger:a5,rightx:a3,righty:a4,start:b10,x:b19,y:b2,platform:Android, +62653761636366393366613135366338,SN30 PP,a:b1,b:b0,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:b17,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:b18,rightx:a2,righty:a3,start:b6,x:b3,y:b2,platform:Android, +38376662666661636265313264613039,SNES,a:b0,b:b1,back:b9,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b3,rightshoulder:b20,start:b10,x:b19,y:b2,platform:Android, +5346432f555342205061640000000000,SNES Adapter,a:b0,b:b1,back:b9,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b3,rightshoulder:b20,start:b10,x:b19,y:b2,platform:Android, +5553422047616d657061642000000000,SNES Controller,a:b1,b:b0,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,rightshoulder:b10,start:b6,x:b3,y:b2,platform:Android, +63303964303462366136616266653561,Sony PSP,a:b21,b:b22,back:b27,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b25,leftx:a0,lefty:a1,rightshoulder:b26,start:b28,x:b23,y:b24,platform:Android, +63376637643462343766333462383235,Sony Vita,a:b1,b:b19,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftshoulder:b3,leftx:a0,lefty:a1,rightshoulder:b20,rightx:a3,righty:a4,start:b18,x:b0,y:b2,platform:Android, +476f6f676c65204c4c43205374616469,Stadia Controller,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +05000000de2800000511000001000000,Steam Controller,a:b0,b:b1,back:b6,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a3,start:b7,x:b2,y:b3,platform:Android, +05000000de2800000611000001000000,Steam Controller,a:b0,b:b1,back:b6,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a3,start:b7,x:b2,y:b3,platform:Android, +0500000011010000201400000f7e0f00,SteelSeries Nimbus,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b3,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b20,righttrigger:b10,rightx:a2,righty:a3,x:b19,y:b2,platform:Android, +35306436396437373135383665646464,SteelSeries Nimbus Plus,a:b0,b:b1,leftshoulder:b3,leftstick:b17,lefttrigger:b9,leftx:a0,rightshoulder:b20,rightstick:b18,righttrigger:b10,rightx:a2,x:b19,y:b2,platform:Android, +050000004f0400000ed00000fffe3f00,ThrustMaster eSwap Pro Controller,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +5477696e20555342204a6f7973746963,Twin Joystick,a:b22,b:b21,back:b28,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b26,leftstick:b30,lefttrigger:b24,leftx:a0,lefty:a1,rightshoulder:b27,rightstick:b31,righttrigger:b25,rightx:a3,righty:a2,start:b29,x:b23,y:b20,platform:Android, +30623739343039643830333266346439,Valve Steam Controller,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b9,leftstick:b7,leftx:a0,lefty:a1,paddle1:b24,paddle2:b23,rightshoulder:b10,rightstick:b8,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +31643365666432386133346639383937,Valve Steam Controller,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b9,leftstick:b7,leftx:a0,lefty:a1,paddle1:b24,paddle2:b23,rightshoulder:b10,rightstick:b8,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +30386438313564306161393537333663,Wii Classic Adapter,a:b23,b:b22,back:b29,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b27,lefttrigger:b25,leftx:a0,lefty:a1,rightshoulder:b28,righttrigger:b26,rightx:a2,righty:a3,start:b30,x:b24,y:b21,platform:Android, +33333034646336346339646538643633,Wii Classic Adapter,a:b23,b:b22,back:b29,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b27,lefttrigger:b25,leftx:a0,lefty:a1,rightshoulder:b28,righttrigger:b26,rightx:a2,righty:a3,start:b30,x:b24,y:b21,platform:Android, +050000005e0400008e02000000783f00,Xbox 360 Controller,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +30396232393162346330326334636566,Xbox 360 Controller,a:b0,b:b1,back:b4,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +38313038323730383864666463383533,Xbox 360 Controller,a:b0,b:b1,back:b4,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +58626f782033363020576972656c6573,Xbox 360 Controller,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +65353331386662343338643939643636,Xbox 360 Controller,a:b0,b:b1,back:b4,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +65613532386633373963616462363038,Xbox 360 Controller,a:b0,b:b1,back:b4,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +47656e6572696320582d426f78207061,Xbox Controller,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +4d6963726f736f667420582d426f7820,Xbox Controller,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +64633436313965656664373634323364,Xbox Controller,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b19,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +050000005e04000091020000ff073f00,Xbox One Controller,a:b0,b:b1,back:b4,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Android, +050000005e040000e00200000ffe3f00,Xbox One Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b3,leftstick:b15,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b18,rightstick:b16,righttrigger:a5,rightx:a3,righty:a4,start:b10,x:b17,y:b2,platform:Android, +050000005e040000e0020000ffff3f00,Xbox One Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b4,leftshoulder:b3,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b18,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b10,x:b17,y:b2,platform:Android, +050000005e040000fd020000ffff3f00,Xbox One Controller,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +33356661323266333733373865656366,Xbox One Controller,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +34356136633366613530316338376136,Xbox One Controller,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b3,leftstick:b15,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b18,rightstick:b16,righttrigger:a5,rightx:a3,righty:a4,x:b17,y:b2,platform:Android, +35623965373264386238353433656138,Xbox One Controller,a:b0,b:b1,back:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +36616131643361333337396261666433,Xbox One Controller,a:b0,b:b1,back:b15,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +58626f7820576972656c65737320436f,Xbox One Controller,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +050000005e040000000b000000783f00,Xbox One Elite 2 Controller,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Android, +050000005e040000e002000000783f00,Xbox One S Controller,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +050000005e040000ea02000000783f00,Xbox One S Controller,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +050000005e040000fd020000ff7f3f00,Xbox One S Controller,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +050000005e040000120b000000783f00,Xbox Series Controller,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:Android, +050000005e040000130b0000ffff3f00,Xbox Series Controller,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +65633038363832353634653836396239,Xbox Series Controller,a:b0,b:b1,back:b15,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,platform:Android, +050000001727000044310000ffff3f00,XiaoMi Controller,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a7,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a6,rightx:a2,righty:a5,start:b6,x:b2,y:b3,platform:Android, + +# iOS +05000000ac0500000100000000006d01,*,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b6,leftshoulder:b4,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a5,rightx:a3,righty:a4,x:b2,y:b3,platform:iOS, +05000000ac050000010000004f066d01,*,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b6,leftshoulder:b4,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a5,rightx:a3,righty:a4,x:b2,y:b3,platform:iOS, +05000000ac05000001000000cf076d01,*,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,x:b2,y:b3,platform:iOS, +05000000ac05000001000000df076d01,*,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b2,y:b3,platform:iOS, +05000000ac05000001000000ff076d01,*,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b10,x:b2,y:b3,platform:iOS, +05000000ac0500000200000000006d02,*,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b6,leftshoulder:b4,rightshoulder:b5,x:b2,y:b3,platform:iOS, +05000000ac050000020000004f066d02,*,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b6,leftshoulder:b4,rightshoulder:b5,x:b2,y:b3,platform:iOS, +4d466947616d65706164010000000000,MFi Extended Gamepad,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a5,rightx:a3,righty:a4,start:b6,x:b2,y:b3,platform:iOS, +4d466947616d65706164020000000000,MFi Gamepad,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,rightshoulder:b5,start:b6,x:b2,y:b3,platform:iOS, +050000007e050000062000004f060000,Nintendo Switch Joy-Con (L),+leftx:h0.1,+lefty:h0.2,-leftx:h0.4,-lefty:h0.8,dpdown:b2,dpleft:b0,dpright:b3,dpup:b1,leftshoulder:b4,misc1:b6,rightshoulder:b5,platform:iOS, +050000007e0500000e200000df070000,Nintendo Switch Joy-Con (L/R),a:b1,b:b0,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b3,y:b2,platform:iOS, +050000007e050000072000004f060000,Nintendo Switch Joy-Con (R),+rightx:h0.4,+righty:h0.8,-rightx:h0.1,-righty:h0.2,a:b1,b:b0,guide:b6,leftshoulder:b4,rightshoulder:b5,x:b3,y:b2,platform:iOS, +050000007e05000009200000ff870000,Nintendo Switch Pro Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,misc1:b11,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b10,x:b2,y:b3,platform:iOS, +050000004c050000cc090000df070000,PS4 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b2,y:b3,platform:iOS, +050000004c050000cc090000df870001,PS4 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b2,y:b3,platform:iOS, +050000004c050000cc090000ff070000,PS4 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b10,x:b2,y:b3,platform:iOS, +050000004c050000cc090000ff870001,PS4 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b10,touchpad:b11,x:b2,y:b3,platform:iOS, +050000004c050000cc090000ff876d01,PS4 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,misc1:b11,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b10,x:b2,y:b3,platform:iOS, +050000004c050000e60c0000df870000,PS5 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b9,touchpad:b10,x:b2,y:b3,platform:iOS, +050000004c050000e60c0000ff870000,PS5 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b10,touchpad:b11,x:b2,y:b3,platform:iOS, +05000000ac0500000300000000006d03,Remote,a:b0,b:b2,leftx:a0,lefty:a1,platform:iOS, +05000000ac0500000300000043006d03,Remote,a:b0,b:b2,leftx:a0,lefty:a1,platform:iOS, +05000000de2800000511000001000000,Steam Controller,a:b0,b:b1,back:b6,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a3,start:b7,x:b2,y:b3,platform:iOS, +05000000de2800000611000001000000,Steam Controller,a:b0,b:b1,back:b6,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a3,start:b7,x:b2,y:b3,platform:iOS, +050000005e040000050b0000df070001,Xbox Elite Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,paddle1:b10,paddle2:b12,paddle3:b11,paddle4:b13,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b2,y:b3,platform:iOS, +050000005e040000050b0000ff070001,Xbox Elite Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,paddle1:b11,paddle2:b13,paddle3:b12,paddle4:b14,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b10,x:b2,y:b3,platform:iOS, +050000005e040000e0020000df070000,Xbox One Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b2,y:b3,platform:iOS, +050000005e040000e0020000ff070000,Xbox One Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b10,x:b2,y:b3,platform:iOS, +050000005e040000130b0000df870001,Xbox Series X Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,misc1:b10,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b9,x:b2,y:b3,platform:iOS, +050000005e040000130b0000ff870001,Xbox Series X Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,misc1:b11,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b10,x:b2,y:b3,platform:iOS, diff --git a/src/data/builtin/lightmap/spot.png b/src/data/builtin/lightmap/spot.png new file mode 100644 index 0000000000000000000000000000000000000000..0a488811e124ce0f287d94b6fc507b0d048365e8 GIT binary patch literal 3147 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 IKQ?*(9}!O4a{vGU literal 0 HcmV?d00001 diff --git a/src/data/builtin/organya-wavetable-org.bin b/src/data/builtin/organya-wavetable-org.bin new file mode 100644 index 0000000000000000000000000000000000000000..6bc97f59f1f8f98358ae62b2b2d6f742fac28d4c GIT binary patch literal 87772 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"+Hbvx<{1N`P@lRCqN5g69dDPwh(EaKXH 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 literal 0 HcmV?d00001 diff --git a/src/data/builtin/touch.png b/src/data/builtin/touch.png new file mode 100644 index 0000000000000000000000000000000000000000..685c7dd5624c24172cbca9fc34e5777c20d601f5 GIT binary patch literal 16222 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 D5Ctmo literal 0 HcmV?d00001 diff --git a/src/data/builtin_fs.rs b/src/data/builtin_fs.rs new file mode 100644 index 0000000..3164e6d --- /dev/null +++ b/src/data/builtin_fs.rs @@ -0,0 +1,321 @@ +use std::{fmt, io}; +use std::fmt::Debug; +use std::io::Cursor; +use std::io::ErrorKind; +use std::io::SeekFrom; +use std::path::{Component, Path, PathBuf}; + +use crate::framework::error::GameError::FilesystemError; +use crate::framework::error::GameResult; +use crate::framework::vfs::{OpenOptions, VFile, VFS, VMetadata}; + +#[derive(Debug)] +pub struct BuiltinFile(Cursor<&'static [u8]>); + +impl BuiltinFile { + pub fn from(buf: &'static [u8]) -> Box { + Box::new(BuiltinFile(Cursor::new(buf))) + } +} + +impl io::Read for BuiltinFile { + fn read(&mut self, buf: &mut [u8]) -> io::Result { + self.0.read(buf) + } +} + +impl io::Seek for BuiltinFile { + fn seek(&mut self, pos: SeekFrom) -> io::Result { + self.0.seek(pos) + } +} + +impl io::Write for BuiltinFile { + fn write(&mut self, _buf: &[u8]) -> io::Result { + Err(io::Error::new(ErrorKind::PermissionDenied, "Built-in file system is read-only.")) + } + + fn flush(&mut self) -> io::Result<()> { + Err(io::Error::new(ErrorKind::PermissionDenied, "Built-in file system is read-only.")) + } +} + +struct BuiltinMetadata { + is_dir: bool, + size: u64, +} + +impl VMetadata for BuiltinMetadata { + fn is_dir(&self) -> bool { + self.is_dir + } + + fn is_file(&self) -> bool { + !self.is_dir + } + + fn len(&self) -> u64 { + self.size + } +} + +#[derive(Clone, Debug)] +enum FSNode { + File(&'static str, &'static [u8]), + Directory(&'static str, Vec), +} + +impl FSNode { + fn get_name(&self) -> &'static str { + match self { + FSNode::File(name, _) => name, + FSNode::Directory(name, _) => name, + } + } + + fn to_file(&self) -> GameResult> { + match self { + FSNode::File(_, buf) => Ok(BuiltinFile::from(buf)), + FSNode::Directory(name, _) => Err(FilesystemError(format!("{} is a directory.", name))), + } + } + + fn to_metadata(&self) -> Box { + match self { + FSNode::File(_, buf) => Box::new(BuiltinMetadata { is_dir: false, size: buf.len() as u64 }), + FSNode::Directory(_, _) => Box::new(BuiltinMetadata { is_dir: true, size: 0 }), + } + } +} + +pub struct BuiltinFS { + root: Vec, +} + +impl BuiltinFS { + pub fn new() -> Self { + Self { + root: vec![FSNode::Directory( + "builtin", + vec![ + FSNode::File("builtin_font.fnt", include_bytes!("builtin/builtin_font.fnt")), + FSNode::File("builtin_font_0.png", include_bytes!("builtin/builtin_font_0.png")), + FSNode::File("builtin_font_1.png", include_bytes!("builtin/builtin_font_1.png")), + FSNode::File("gamecontrollerdb.txt", include_bytes!("builtin/gamecontrollerdb.txt")), + FSNode::File( + "organya-wavetable-doukutsu.bin", + include_bytes!("builtin/organya-wavetable-doukutsu.bin"), + ), + FSNode::File("touch.png", include_bytes!("builtin/touch.png")), + FSNode::Directory( + "builtin_data", + vec![ + FSNode::File("buttons.png", include_bytes!("builtin/builtin_data/buttons.png")), + FSNode::File("triangles.png", include_bytes!("builtin/builtin_data/triangles.png")), + FSNode::Directory( + "headband", + vec![ + FSNode::Directory( + "ogph", + vec![ + FSNode::File( + "Casts.png", + include_bytes!("builtin/builtin_data/headband/ogph/Casts.png"), + ), + FSNode::Directory( + "Npc", + vec![ + FSNode::File( + "NpcGuest.png", + include_bytes!( + "builtin/builtin_data/headband/ogph/Npc/NpcGuest.png" + ), + ), + FSNode::File( + "NpcMiza.png", + include_bytes!( + "builtin/builtin_data/headband/ogph/Npc/NpcMiza.png" + ), + ), + FSNode::File( + "NpcRegu.png", + include_bytes!( + "builtin/builtin_data/headband/ogph/Npc/NpcRegu.png" + ), + ), + ], + ), + ], + ), + FSNode::Directory( + "plus", + vec![ + FSNode::File( + "Casts.png", + include_bytes!("builtin/builtin_data/headband/plus/casts.png"), + ), + FSNode::Directory( + "Npc", + vec![ + FSNode::File( + "NpcGuest.png", + include_bytes!( + "builtin/builtin_data/headband/plus/npc/npcguest.png" + ), + ), + FSNode::File( + "NpcMiza.png", + include_bytes!( + "builtin/builtin_data/headband/plus/npc/npcmiza.png" + ), + ), + FSNode::File( + "NpcRegu.png", + include_bytes!( + "builtin/builtin_data/headband/plus/npc/npcregu.png" + ), + ), + ], + ), + ], + ), + ], + ), + FSNode::Directory( + "locale", + vec![ + FSNode::File("en.json", include_bytes!("builtin/builtin_data/locale/en.json")), + FSNode::File("jp.json", include_bytes!("builtin/builtin_data/locale/jp.json")), + ], + ), + ], + ), + FSNode::Directory( + "lightmap", + vec![FSNode::File("spot.png", include_bytes!("builtin/lightmap/spot.png"))], + ), + ], + )], + } + } + + fn get_node(&self, path: &Path) -> GameResult { + let mut iter = path.components().peekable(); + + if let Some(Component::RootDir) = iter.next() { + let mut curr_dir = &self.root; + + if iter.peek().is_none() { + return Ok(FSNode::Directory("", self.root.clone())); + } + + while let Some(comp) = iter.next() { + let comp_name = comp.as_os_str().to_string_lossy(); + + for file in curr_dir { + match file { + FSNode::File(name, _) if comp_name.eq(name) => { + return if iter.peek().is_some() { + Err(FilesystemError(format!("Expected a directory, found a file: {:?}", path))) + } else { + Ok(file.clone()) + }; + } + FSNode::Directory(name, contents) if comp_name.eq(name) => { + if iter.peek().is_some() { + curr_dir = contents; + break; + } else { + return Ok(file.clone()); + } + } + _ => {} + } + } + } + } else { + return Err(FilesystemError("Path must be absolute.".to_string())); + } + + Err(FilesystemError("File not found.".to_string())) + } +} + +impl Debug for BuiltinFS { + fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> { + write!(f, "") + } +} + +impl VFS for BuiltinFS { + fn open_options(&self, path: &Path, open_options: OpenOptions) -> GameResult> { + if open_options.write || open_options.create || open_options.append || open_options.truncate { + let msg = format!("Cannot alter file {:?} in root {:?}, filesystem read-only", path, self); + return Err(FilesystemError(msg)); + } + + self.get_node(path)?.to_file() + } + + fn mkdir(&self, _path: &Path) -> GameResult<()> { + Err(FilesystemError("Tried to make directory {} but FS is read-only".to_string())) + } + + fn rm(&self, _path: &Path) -> GameResult<()> { + Err(FilesystemError("Tried to remove file {} but FS is read-only".to_string())) + } + + fn rmrf(&self, _path: &Path) -> GameResult<()> { + Err(FilesystemError("Tried to remove file/dir {} but FS is read-only".to_string())) + } + + fn exists(&self, path: &Path) -> bool { + self.get_node(path).is_ok() + } + + fn metadata(&self, path: &Path) -> GameResult> { + self.get_node(path).map(|v| v.to_metadata()) + } + + fn read_dir(&self, path: &Path) -> GameResult>>> { + match self.get_node(path) { + Ok(FSNode::Directory(_, contents)) => { + let mut vec = Vec::new(); + for node in contents { + vec.push(Ok(PathBuf::from(node.get_name()))) + } + + Ok(Box::new(vec.into_iter())) + } + Ok(FSNode::File(_, _)) => Err(FilesystemError(format!("Expected a directory, found a file: {:?}", path))), + Err(e) => Err(e), + } + } + + fn to_path_buf(&self) -> Option { + None + } +} + +#[test] +fn test_builtin_fs() { + let fs = BuiltinFS { + root: vec![ + FSNode::File("test.txt", &[]), + FSNode::Directory( + "memes", + vec![ + FSNode::File("nothing.txt", &[]), + FSNode::Directory("secret stuff", vec![FSNode::File("passwords.txt", b"12345678")]), + ], + ), + FSNode::File("test2.txt", &[]), + ], + }; + + println!("{:?}", fs.get_node(Path::new("/")).unwrap()); + println!("{:?}", fs.get_node(Path::new("/test.txt")).unwrap()); + println!("{:?}", fs.get_node(Path::new("/memes")).unwrap()); + println!("{:?}", fs.get_node(Path::new("/memes/nothing.txt")).unwrap()); + println!("{:?}", fs.get_node(Path::new("/memes/secret stuff/passwords.txt")).unwrap()); +} diff --git a/src/data/exe_parser.rs b/src/data/exe_parser.rs new file mode 100644 index 0000000..0ac2668 --- /dev/null +++ b/src/data/exe_parser.rs @@ -0,0 +1,127 @@ +use std::ops::Range; + +use pelite::{ + image::RT_BITMAP, + pe32::{headers::SectionHeaders, Pe, PeFile}, + resources::{Directory, Entry, Name, Resources}, +}; + +use crate::framework::error::{GameError::ParseError, GameResult}; + +#[derive(Debug)] +pub struct DataFile { + pub bytes: Vec, + pub name: String, +} + +impl DataFile { + pub fn from(name: String, bytes: Vec) -> Self { + Self { name, bytes } + } +} + +#[derive(Debug)] +pub struct ExeResourceDirectory { + pub name: String, + pub data_files: Vec, +} + +impl ExeResourceDirectory { + pub fn new(name: String) -> Self { + Self { name, data_files: Vec::new() } + } +} + +pub struct ExeParser<'a> { + pub resources: Resources<'a>, + pub section_headers: Box<&'a SectionHeaders>, +} + +impl<'a> ExeParser<'a> { + pub fn from(file: &'a Vec) -> GameResult { + let pe = PeFile::from_bytes(file); + + return match pe { + Ok(pe) => { + let resources = pe.resources(); + + if resources.is_err() { + return Err(ParseError("Failed to parse resources.".to_string())); + } + + let section_headers = pe.section_headers(); + + Ok(Self { resources: resources.unwrap(), section_headers: Box::new(section_headers) }) + } + Err(_) => Err(ParseError("Failed to parse PE file".to_string())), + }; + } + + pub fn get_resource_dir(&self, name: String) -> GameResult { + let mut dir_data = ExeResourceDirectory::new(name.to_owned()); + + let path = format!("/{}", name.to_owned()); + let dir = self.resources.find_dir(&path); + + return match dir { + Ok(dir) => { + self.read_dir(dir, &mut dir_data, "unknown".to_string()); + Ok(dir_data) + } + Err(_) => return Err(ParseError("Failed to find resource directory.".to_string())), + }; + } + + pub fn get_bitmap_dir(&self) -> GameResult { + let mut dir_data = ExeResourceDirectory::new("Bitmap".to_string()); + + let root = self.resources.root().unwrap(); + let dir = root.get_dir(Name::Id(RT_BITMAP.into())); + + return match dir { + Ok(dir) => { + self.read_dir(dir, &mut dir_data, "unknown".to_string()); + Ok(dir_data) + } + Err(_) => return Err(ParseError("Failed to open bitmap directory.".to_string())), + }; + } + + pub fn get_named_section_byte_range(&self, name: String) -> GameResult>> { + let section_header = self.section_headers.by_name(name.as_bytes()); + return match section_header { + Some(section_header) => Ok(Some(section_header.file_range())), + None => Ok(None), + }; + } + + fn read_dir(&self, directory: Directory, dir_data: &mut ExeResourceDirectory, last_dir_name: String) { + for dir in directory.entries() { + let raw_entry = dir.entry(); + + if raw_entry.is_err() { + continue; + } + + if let Entry::Directory(entry) = raw_entry.unwrap() { + let dir_name = dir.name(); + let name = match dir_name { + Ok(name) => name.to_string(), + Err(_) => last_dir_name.to_owned(), + }; + self.read_dir(entry, dir_data, name); + } + + if let Entry::DataEntry(entry) = raw_entry.unwrap() { + let entry_bytes = entry.bytes(); + if entry_bytes.is_err() { + continue; + } + + let bytes = entry_bytes.unwrap(); + let data_file = DataFile::from(last_dir_name.to_owned(), bytes.to_vec()); + dir_data.data_files.push(data_file); + } + } + } +} diff --git a/src/data/mod.rs b/src/data/mod.rs new file mode 100644 index 0000000..421522e --- /dev/null +++ b/src/data/mod.rs @@ -0,0 +1,3 @@ +pub mod builtin_fs; +pub mod exe_parser; +pub mod vanilla; diff --git a/src/data/vanilla.rs b/src/data/vanilla.rs new file mode 100644 index 0000000..5137283 --- /dev/null +++ b/src/data/vanilla.rs @@ -0,0 +1,207 @@ +use std::{ + env, + io::{Read, Write}, + ops::Range, + path::PathBuf, +}; + +use byteorder::{LE, WriteBytesExt}; + +use crate::data::exe_parser::ExeParser; +use crate::framework::{ + context::Context, + error::{GameError::ParseError, GameResult}, + filesystem, +}; + +pub struct VanillaExtractor { + exe_buffer: Vec, + data_base_dir: String, +} + +const VANILLA_STAGE_COUNT: u32 = 95; +const VANILLA_STAGE_ENTRY_SIZE: u32 = 0xC8; +const VANILLA_STAGE_OFFSET: u32 = 0x937B0; +const VANILLA_STAGE_TABLE_SIZE: u32 = VANILLA_STAGE_COUNT * VANILLA_STAGE_ENTRY_SIZE; + +impl VanillaExtractor { + pub fn from(ctx: &mut Context, exe_name: String, data_base_dir: String) -> Option { + let mut vanilla_exe_path = env::current_exe().unwrap(); + vanilla_exe_path.pop(); + vanilla_exe_path.push(exe_name); + + if !vanilla_exe_path.is_file() { + return None; + } + + log::info!("Found vanilla game executable, attempting to extract resources."); + + if filesystem::exists(ctx, format!("{}/stage.sect", data_base_dir.clone())) { + log::info!("Vanilla resources are already extracted, not proceeding."); + return None; + } + + let file = std::fs::File::open(vanilla_exe_path); + if file.is_err() { + log::error!("Failed to open vanilla game executable: {}", file.unwrap_err()); + return None; + } + + let mut exe_buffer = Vec::new(); + let result = file.unwrap().read_to_end(&mut exe_buffer); + if result.is_err() { + log::error!("Failed to read vanilla game executable: {}", result.unwrap_err()); + return None; + } + + Some(Self { exe_buffer, data_base_dir }) + } + + pub fn extract_data(&self) -> GameResult { + let parser = ExeParser::from(&self.exe_buffer); + if parser.is_err() { + return Err(ParseError("Failed to create vanilla parser.".to_string())); + } + + let parser = parser.unwrap(); + + self.extract_organya(&parser)?; + self.extract_bitmaps(&parser)?; + self.extract_stage_table(&parser)?; + + Ok(()) + } + + fn deep_create_dir_if_not_exists(&self, path: PathBuf) -> GameResult { + if path.is_dir() { + return Ok(()); + } + + let result = std::fs::create_dir_all(path); + if result.is_err() { + return Err(ParseError(format!("Failed to create directory structure: {}", result.unwrap_err()))); + } + + Ok(()) + } + + fn extract_organya(&self, parser: &ExeParser) -> GameResult { + let orgs = parser.get_resource_dir("ORG".to_string()); + + if orgs.is_err() { + return Err(ParseError("Failed to retrieve Organya resource directory.".to_string())); + } + + for org in orgs.unwrap().data_files { + let mut org_path = env::current_exe().unwrap(); + org_path.pop(); + org_path.push(self.data_base_dir.clone()); + org_path.push("Org/"); + + if self.deep_create_dir_if_not_exists(org_path.clone()).is_err() { + return Err(ParseError("Failed to create directory structure.".to_string())); + } + + org_path.push(format!("{}.org", org.name)); + + let mut org_file = match std::fs::File::create(org_path) { + Ok(file) => file, + Err(_) => { + return Err(ParseError("Failed to create organya file.".to_string())); + } + }; + + let result = org_file.write_all(&org.bytes); + if result.is_err() { + return Err(ParseError("Failed to write organya file.".to_string())); + } + + log::info!("Extracted organya file: {}", org.name); + } + + Ok(()) + } + + fn extract_bitmaps(&self, parser: &ExeParser) -> GameResult { + let bitmaps = parser.get_bitmap_dir(); + + if bitmaps.is_err() { + return Err(ParseError("Failed to retrieve bitmap directory.".to_string())); + } + + for bitmap in bitmaps.unwrap().data_files { + let mut data_path = env::current_exe().unwrap(); + data_path.pop(); + data_path.push(self.data_base_dir.clone()); + + if self.deep_create_dir_if_not_exists(data_path.clone()).is_err() { + return Err(ParseError("Failed to create data directory structure.".to_string())); + } + + data_path.push(format!("{}.pbm", bitmap.name)); + + let file = std::fs::File::create(data_path); + if file.is_err() { + return Err(ParseError("Failed to create bitmap file.".to_string())); + } + + let mut file = file.unwrap(); + + file.write_u8(0x42)?; // B + file.write_u8(0x4D)?; // M + file.write_u32::(bitmap.bytes.len() as u32 + 0xE)?; // Size of BMP file + file.write_u32::(0)?; // unused null bytes + file.write_u32::(0x76)?; // Bitmap data offset (hardcoded for now, might wanna get the actual offset) + + let result = file.write_all(&bitmap.bytes); + if result.is_err() { + return Err(ParseError("Failed to write bitmap file.".to_string())); + } + + log::info!("Extracted bitmap file: {}", bitmap.name); + } + + Ok(()) + } + + fn extract_stage_table(&self, parser: &ExeParser) -> GameResult { + let range = parser.get_named_section_byte_range(".csmap".to_string()); + if range.is_err() { + return Err(ParseError("Failed to retrieve stage table from executable.".to_string())); + } + + let range = match range.unwrap() { + Some(range) => range, + None => Range { start: VANILLA_STAGE_OFFSET, end: VANILLA_STAGE_OFFSET + VANILLA_STAGE_TABLE_SIZE }, + }; + + let start = range.start as usize; + let end = range.end as usize; + + let byte_slice = &self.exe_buffer[start..end]; + + let mut stage_tbl_path = env::current_exe().unwrap(); + stage_tbl_path.pop(); + stage_tbl_path.push(self.data_base_dir.clone()); + + if self.deep_create_dir_if_not_exists(stage_tbl_path.clone()).is_err() { + return Err(ParseError("Failed to create data directory structure.".to_string())); + } + + stage_tbl_path.push("stage.sect"); + + let mut stage_tbl_file = match std::fs::File::create(stage_tbl_path) { + Ok(file) => file, + Err(_) => { + return Err(ParseError("Failed to create stage table file.".to_string())); + } + }; + + let result = stage_tbl_file.write_all(byte_slice); + if result.is_err() { + return Err(ParseError("Failed to write to stage table file.".to_string())); + } + + Ok(()) + } +}