{"id":23002580,"url":"https://github.com/eddieavd/fffb","last_synced_at":"2025-04-02T14:21:02.954Z","repository":{"id":266744617,"uuid":"898797101","full_name":"eddieavd/fffb","owner":"eddieavd","description":"fffb - fake force feedback plugin for macos games","archived":false,"fork":false,"pushed_at":"2024-12-14T15:46:14.000Z","size":186,"stargazers_count":5,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-08T05:24:05.564Z","etag":null,"topics":["americantrucksimulator","apple","applesilicon","eurotrucksimulator2","forcefeedback","forcefeedback-steering-wheel","g923","ghub","logitech","logitech-gaming","m1","m1-mac","mac","macos","plugin","scs","steering-wheel","wheel"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eddieavd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-05T03:48:15.000Z","updated_at":"2025-01-23T11:09:22.000Z","dependencies_parsed_at":"2025-02-08T05:33:54.815Z","dependency_job_id":null,"html_url":"https://github.com/eddieavd/fffb","commit_stats":null,"previous_names":["eddieavd/fffb"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddieavd%2Ffffb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddieavd%2Ffffb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddieavd%2Ffffb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddieavd%2Ffffb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eddieavd","download_url":"https://codeload.github.com/eddieavd/fffb/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246828477,"owners_count":20840474,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["americantrucksimulator","apple","applesilicon","eurotrucksimulator2","forcefeedback","forcefeedback-steering-wheel","g923","ghub","logitech","logitech-gaming","m1","m1-mac","mac","macos","plugin","scs","steering-wheel","wheel"],"created_at":"2024-12-15T07:11:27.468Z","updated_at":"2025-04-02T14:21:02.928Z","avatar_url":"https://github.com/eddieavd.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fffb  \n\n### macOS fake force feedback plugin\n\n## what?\n\n### flt\n\n`flt` is a command line utility which communicates with logitech steering wheels via the [classic ffb protocol](https://opensource.logitech.com/wiki/force_feedback/Logitech_Force_Feedback_Protocol_V1.6.pdf) and can be used to configure the steering wheel directly  \n\n### fffb\n`fffb` is a plugin for [scs games](https://www.scssoft.com/) which uses the [TelemetrySDK](https://modding.scssoft.com/wiki/Documentation/Engine/SDK/Telemetry) to read truck telemetry data, constructs custom forces and plays them on your logitech G923  \n\n## why?\n\n- logitech GHUB is a broken piece of `    `\n- force feedback doesn't work on macOS\n- i like how the wheel shakes when i press the gas pedal\n\n## how?\n\nthe scs related stuff is ripped from the examples bundled with the TelemetrySDK.  \nto interact with the wheel, i use `flt`, a small library i wrote for interacting with the G923 from macOS. it allows us to enable/disable and configure autocentering, play custom forces and have fun with the leds.  \n\n## usage\n\n### prebuilt binaries\n\nbinaries are available on the [releases page](https://github.com/eddieavd/fffb/releases)  \nsimply copy `libfffb.dylib` to the plugin directory  \n(plugin directory should be next to the game's executable, default for ats would be `~/Library/Application\\ Support/Steam/steamapps/common/American\\ Truck\\ Simulator/American\\ Truck\\ Simulator.app/Contents/MacOS/plugins`)\n\n### building from source\n\nto build `flt` and `fffb`:  \n\n```bash\n# clone the repo\ngit clone https://github.com/eddieavd/fffb \u0026\u0026 cd fffb\n\n# create build directory\nmkdir build \u0026\u0026 cd build\n\n# configure and build project\ncmake .. -DCMAKE_BUILD_TYPE=Release\nmake -j8\n\n# create plugin directory\n## should be in same directory as ets2/ats executable\n## this should be the default path\nmkdir ~/Library/Application\\ Support/Steam/steamapps/common/American\\ Truck\\ Simulator/American\\ Truck\\ Simulator.app/Contents/MacOS/plugins\n\n# copy plugin to plugin directory\ncp libfffb.dylib ~/Library/Application\\ Support/Steam/steamapps/common/American\\ Truck\\ Simulator/American\\ Truck\\ Simulator.app/Contents/MacOS/plugins\n```\n\nnow you can launch ets2/ats.  \nupon launch, you'll see the advanced sdk features popup, hit OK and the plugin initialization starts.  \nif the wheel leds start flashing and the wheel turns to the right and back, wheel initialization was successful and you should be good to go!  \nif you don't see the leds flash, reload the plugin by running `sdk reinit` in the in-game console  \n\n## disclaimer\n\nshould work on any apple silicon mac  \nsince scs requires the binaries to be x86_64, it might work out of the box for x86_64 macs (untested as of now)  \nworks only with Logitech G923 PS  \nthe ffb protocol is similar on other logitech wheels so it should be easy to extend support, but i don't have any other wheels and don't feel like writing code i can't test  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feddieavd%2Ffffb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feddieavd%2Ffffb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feddieavd%2Ffffb/lists"}