diff --git a/.github/HitBox.png b/.github/HitBox.png new file mode 100644 index 0000000..be395ad Binary files /dev/null and b/.github/HitBox.png differ diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0dc7b4b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/.vscode \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f041ed4 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 ccelik97 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..1796c36 --- /dev/null +++ b/README.md @@ -0,0 +1,19 @@ +# SOCD Cleaner + +A software based SOCD Cleaner written in [AutoHotKey](https://www.autohotkey.com), for Windows. + +From [Hit Box Arcade](https://www.hitboxarcade.com/blogs/support/what-is-socd): + +> SOCD means "Simultaneous Opposing Cardinal Directions." It is the physical actuation of cardinal directions that are separate and opposite to each other - ie, pressing Left and Right at the same time. This phenomenon is best known on all-button controllers, such as the Hit Box and Smash Box, but current controllers like the Dual-Shock 4 can do something similar with its cross-directional (Analog Stick and Dpad) inputs. +> ![Hit Box button layout.](/.github/HitBox.png) + +By default it assumes the following button setup: + +* Left: E +* Crouch: R +* Right: F +* Space: Space + +Note: Run it as Administrator if your game is also running as Administrator. + +## Download: [Here](https://github.com/ccelik97/SOCD-Cleaner/releases/latest) \ No newline at end of file diff --git a/SOCD Cleaner.ahk b/SOCD Cleaner.ahk new file mode 100644 index 0000000..dd98a41 --- /dev/null +++ b/SOCD Cleaner.ahk @@ -0,0 +1,61 @@ +I_Icon = SOCD_Cleaner.ico +IfExist, %I_Icon% + Menu, Tray, Icon, %I_Icon% +;return + +;; ? FROM: https://www.autohotkey.com/boards/viewtopic.php?p=391598&sid=b225a17ae64d8e7fa5ae600b77b5b6f4#p391598 + +#InstallKeybdhook +#UseHook On +#MaxHotkeysPerInterval 200 ; ? FROM: https://www.autohotkey.com/board/topic/62512-permanently-turn-off-that-annoying-hotkey-limit/ + +;; * Pressing both Left & Right buttons cancels each other. +;; ? Left: e +;; ? Right: f + +~e:: + if(GetKeyState("f", "p")) + SendInput {e up}{f up} +Return + +~f:: + if(GetKeyState("e", "p")) + SendInput {e up}{f up} +Return + +~e up:: +if(GetKeyState("f", "p")) + SendInput {f down} +Return + +~f up:: +if(GetKeyState("e", "p")) + SendInput {e down} +Return + +;; * Pressing both Jump & Crouch buttons inputs only Jump, +;; * releasing Jump inputs Crouch. +;; ? Jump: space +;; ? Crouch: r + +~space:: + if(GetKeyState("r", "p")) + SendInput {space down}{R up} +Return + +~space up:: +if(GetKeyState("r", "p")) + SendInput {r down} +Return + +~r:: + if(GetKeyState("space", "p")) + SendInput {r up}{space down} +Return + +~r up:: +if(GetKeyState("space", "p")) + SendInput {space down} +Return + +;; ! BSDK \ No newline at end of file diff --git a/SOCD_Cleaner.ico b/SOCD_Cleaner.ico new file mode 100644 index 0000000..b90489b Binary files /dev/null and b/SOCD_Cleaner.ico differ