Git Product home page Git Product logo

socd's Introduction

SOCD cleaner for epic gamers

NOTE

I haven't abandoned the program, was just a bit short on time to make it better and implement new features. Currently about to rewrite the whole thing. So feel free to open new issues and feature requests and all that. Thanks!

Install

Grab the latest version from Releases page.

Why do I need it?

SOCD stands for simultaneous opposite cardinal direction. Basically, what'll happen if you press "left" and "right" at the same time or "left" while holding "right", and vise versa. Every game handles it differently. Some set such cases to "neutral", some have "last win", and some games just don't know what to do and do whatever.

Devices like smashbox usually have settings that you can toggle to have the behavior you want. This program basically allows you to do the same but with your keyboard. (WIP, for now the only option is "last wins").

Use it at your own caution, especially if you do competitive gaming because some communities require to use something particular and ban any other alternatives. There you go, I warned you. Enjoy!

Warning

The program is in progress, expect backwards incompatible config changes and all that. Hopefully not a big deal since there's not much to configure, but feel free to reach out to me or leave github issue if something that you were using suddenly breaks.

(Beta) Custom keybindings

You can specify your custom keybindings as you first 6 rows in socd_vxx.conf. First 4 rows are your directions - left, right, up, down, the fifth row is the disable key, sixth row is the esc binding. If the file doesn't exist - run the program so it creates one with the default config. You can get numbers for your keys here, just make sure to remove 0x and put only the number itself. Just clicking on "Custom" doesn't do anything for now, but it'll appear as selected automatically after you put anything other than WASD or arrows in your socd.conf

(Beta) Set programs where SOCD cleaner works

Sometimes you don't want SOCD cleaner messing with your keyboard in some applications (like messengers). It's very inconvenient when it starts overriding A and D with each other when you're typing a word that contains both. Now it's possible to specify programs that SOCD cleaner will target when they are focused.

Currently there is no proper interface to set it up, but you can open your socd.conf file and add a new line per program name after your keybindings, so starting with line number 7. Program name should be specified as its .exe file name.

If you don't specify any filenames, SOCD cleaner will just work globally.

Example socd_v008.conf content:

41
44
57
53
45
55
hollow_knight.exe
TheMessenger.exe
oriwotw.exe
hl2.exe

Compiling from source code

Some antiviruses might complain at prebuilt executable as if it has viruses. It doesn't, but you should never run untrusted code on your machine if you don't know what you are doing.

Assuming you have Visual Studio Build Tools installed, run build.bat from the developer shell. Running build.bat release will produce a release build. Consult the script source code for details.

Generally, you should be able to compile it from source with any C compiler on Windows. There is no external dependencies outside of builtin windows libraries. For example, with clang:

Download clang and run in the project root

clang -o2 socd_cleaner.c -o socd_cleaner.exe

LICENSE

MIT or Apache 2.0, whatever you like

socd's People

Contributors

mayonnaisical avatar skeppysflipflops avatar valignatev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

socd's Issues

Is it bannable in Valorant?

I started using your software two days ago, but i forgot to find any information about bans. So i wanna know what could happen if i use it.

Process filter

Currently the program works globally which might mess with user typing in the text. Regardless of whether it actually happens or not (and it does), it makes sense to only affect processes that the user explicitly selects.

Como personalizar minhas teclas?

Olá, não uso WASD como padrão, mas sim OKLÇ (O=W; K=A; L=S; Ç=D). Alguém poderia me auxiliar em como eu posso personalizar as teclas?

Add other operating systems support

Currently, SOCD cleaner is Windows only because it heavily relies on win32 api. But since it's a relatively small program, making it crossplatform wouldn't be a hard task. But it's about the lowest priority for me for now unless there is a high desire for it or somebody else implements other OS support.

Custom keybinds are not working?

Edited the socd_v008.conf file to the following values
51
44
5A
53
45
0

which should correspond to Azerty keybinds, yet when opening the program and clicking either of the three options it just doesn't work? Or am I just plain stupid and doing it wrong, could be either.

Thanks in advance!

compiled rewrite for windows

is there anyway you can release a compiled version of the rewrite since you've got windows working now? i only ask since the jai compiler is still invite only

add an icon for the finished exe

doesnt need to be good or anything, just anything that differentiates from "blank windows executable" so you can know that the exe is running easier

Not working in Fightcade

(Just a note it doesn't work anywhere else, but I really only want to use this program for 3rd strike)
3rd strike doesn't have a built in hitbox SOCD style cleaner despite the menu saying it does. I think other CPS-3 games do, but the fc devs removed it for 3s, anyways.
Attached is a video showing my settings and the input display with training mode. Please help me troubleshoot this! Thank you for your time
https://www.youtube.com/watch?v=oPu7O0ZjaCM
I am pressing L+R and U+D in all the clip, I just couldn't get display overlay for OBS to work

Windows window focused hook is unreliable

How to reproduce: Play game with obs local recording and remux to mp4 renabled. Stop recording - SOCD cleaner loses window focus because windows fires OBS window as focused and doesn't fire another hook for the game to be focused again.

When the down key is "s", it cannot be changed up to any other key

The default WASD and Arrow modes work fine, but when I changed "up" to "spacebar", the left and right of ad are still functional, but the up and down mode of "s spacebar" doesn't work anymore. It seems like when "s" is down, up gets locked to "w". Modifying other keys doesn't work. However, when I changed "down" to another key, like "d", the up and down started working properly.

41
44
57
20
45
D

SOCD not working

Hello,

Had an issue with the program not functioning correctly. I had entered my custom keys (ASD Space) and set the cleaner to custom but I still get a neutral input with holding A+D or S+Space. Here are my conf settings:
41
44
VK_SPACE
53

I also tried it as just SPACE without the VK or _

Add support for custom keybindings

Currently, only WASD and arrows are supported which is suboptimal since there are people who use other keys for directions: ESDF, PL:" etc etc.

Might probably be something unconventional like home/delete/end/pgdown, so makes sense to do some kind of listener that records whatever keys the user presses

GUI for custom keybindings

Custom keybindings are possible now with #5 being implemented. But it's uncomfy without GUI. I've been thinking that stealing rivatuner statistics server general gui desing might fit this program well.

SteamTinkerLaunch on Linux

Hey I just wanted to let you know it's possible to install AutoHotkey with SteamTinkerLauncher and run it with "use custom command" and "Fork custom command" checked + "socd.ahk" for allowing socd cleaning on WASD keys.

I got a working .ahk script for a & d keys

#InstallKeybdhook
#UseHook On
#MaxHotkeysPerInterval 200

;; * Pressing both Left & Right buttons cancels each other.
;; ?  Left: a
;; ? Right: d

~a::
    if(GetKeyState("d", "p"))
        SendInput {d up}{f up}
Return

~d::
    if(GetKeyState("a", "p"))
        SendInput {a up}{f up}
Return

~a up::
    if(GetKeyState("d", "p"))
        SendInput {d down}
Return

~d up::
    if(GetKeyState("a", "p"))
        SendInput {a down}
Return

;; ! BSDK

Does your socd app rely on any dependencies I need to install with winetricks? Reason why it can't grab config file when I try to launch it in the same manor? Same issue with "SnapKey" by "cafali" here on github.

I also tried socd application forked for Linux by "it0946" but I think it may only work with native Linux applications?...not sure I've only been testing in a vm so far so that might be my issue.

Please look into this! I'd much rather run your script with Wine/Proton games than AutoHotkey... Worried about anti-cheats primarily.

More keys question

Is it possible to add more than 4 keys?

It would be useful for example for PUBG to add 2 more keys Q/E for tilt

Allow SOCD mode configuration

Implement a mode that neutralized the opposite inputs. So that if "left" and "right" are pressed simultaneously, it acts as if the user released both. Also, allow the user to configure desired mode for both input pairs

Not working on specific games that block input from external softwares

I notice that in some games this software is not working.
In recent updates (May be on January 6th? Because it is still working while i was playing on January 5th ), Street Fighter 6 seems to have blocked input from external softwares (or maybe other softwares just cannot listen to the keyboard? ) , And i find hotkeys of other software (my scrennshot software for example) is not working as well . I remember that in other games like KOF02UM the software is not working either.
I would like to know if there is a solution to this, or maybe I can only seek other solutions like hitbox ?

Change keybind

Hello,

I play on AZERTY keyboard and i want remplace "A" by "Q" but i don't find how i'm supposed to this.

Linux Support

You probably don't use linux, but I tried this with fightcade2 (3rd strike) and when I press left and right simultaneously, it just outputted left. So I don't think it works through wine.

Permanently dissociate the ESC Key to disable socd and leave only what we defined

Is it possible to set the bind to disable the SOCD without association with the ESC key? When I'm in Valorant, when I use the custom key of my choice to disable for example "=", it considers it as if I were pressing ESC, and the same thing happens when I press ESC disabling SOCD? I would like the disabled key to be only what we define

SOCD Permanently on?

Ok so I play CS2 and tried this out. The disable option worked fine and I was good. I then discovered while playing the exe was never opened before I started the game. I was like maybe the program starts when I load up my pc. Well cs2 released a new update banning it from the game, which I got kicked from a game because of it. I tried to open the program, disable the binds, change the config to work in other programs besides it. I deleted the program along with the config and no matter what it’s acting like it’s running in the background. Did I do something wrong lol. Like is this script bound to just the program or did it change any settings in windows I need to delete or change? Even though I didn’t get kicked from any more games after I deleted it but it’s literally still working lol. I don’t use any other programs or never have that changes anything related to this. I just don’t wanna get banned because of it now that it’s been blacklisted. Any help please :/

Is it bannable?

I've heard stories of people getting banned from using these kinds of softwares but does that actually happen? is there a risk to using it in something like valorant or cs2?

Permanent use

Hi, Excuse my ignorance, but is there a way to activate it and make it permanent without keeping the window open?
that the window is closed and kept forever.

sorry for the inconvenience, ty

Come up with a better name

SOCD cleaner is just such a generic name. It does describe the main functionality, but now we can do more than that, so it doesn't reflect a full picture. I guess we also need a logo. Related to #15

Left+right=neutral

Hello. Can you add a option where up+down is up but left+right is neutral? Thanks

arrow keys not working on latest release

on default configs, Arrows does not work with at least Hollow Knight, haven't tried other games.
i rebound my in game directions to WASD and then put SOCD on WASD and it worked, binding in game to arrows and selecting Arrows does not work.
I downloaded the previous version, and Arrows work as intended on that version.

I personally dont care that i have to use a slightly older version, but figured you would probably like to know that's a problem with the latest build.

Minimize to system tray

Can you code the window to when minimized go to system tray, when i have a lot of windows and alt+tab betwen then one less would be bery helpeful

Is your software usable for valorant

can i use your program to use in games like valorant or cs go for the features like razer or woot keyboard provides...😊. Also how to apply your program for only a and d keyboard only and not for w and s.

hidpi support

i didn't drop it anywhere restricted. It's literally in my downloads folder, and I'm running it as administrator too. But it still doesn't work. The program is running in the background as I'm typing this and it's not making any difference.

          i didn't drop it anywhere restricted. It's literally in my downloads folder, and I'm running it as administrator too. But it still doesn't work.  The program is running in the background as I'm typing this and it's not making any difference.

Originally posted by @zalUoU in #29 (comment)

SOCD works constantly

I used SOCD as usual, and at one point it started working even when I didn’t open it, now I want to stop using SOCD, but I can’t and don’t know how to turn it off
HELP PLS!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.