{"id":18054130,"url":"https://github.com/mbuesch/razer","last_synced_at":"2025-04-05T22:11:19.128Z","repository":{"id":9789487,"uuid":"11764894","full_name":"mbuesch/razer","owner":"mbuesch","description":"Razer device library and tools","archived":false,"fork":false,"pushed_at":"2024-05-31T08:27:02.000Z","size":895,"stargazers_count":253,"open_issues_count":18,"forks_count":49,"subscribers_count":27,"default_branch":"master","last_synced_at":"2025-03-29T21:07:58.110Z","etag":null,"topics":["driver","linux","mouse","razer"],"latest_commit_sha":null,"homepage":"http://bues.ch/h/razercfg","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mbuesch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","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":"2013-07-30T12:49:23.000Z","updated_at":"2024-11-26T09:53:28.000Z","dependencies_parsed_at":"2024-11-14T00:02:10.765Z","dependency_job_id":"5eedce1a-0a05-45e8-8c53-703d50c4df8a","html_url":"https://github.com/mbuesch/razer","commit_stats":null,"previous_names":[],"tags_count":38,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbuesch%2Frazer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbuesch%2Frazer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbuesch%2Frazer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbuesch%2Frazer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mbuesch","download_url":"https://codeload.github.com/mbuesch/razer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247406111,"owners_count":20933806,"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":["driver","linux","mouse","razer"],"created_at":"2024-10-31T00:09:24.024Z","updated_at":"2025-04-05T22:11:19.099Z","avatar_url":"https://github.com/mbuesch.png","language":"C","readme":"Razer device configuration tool\n===============================\n\n[https://bues.ch/h/razercfg](https://bues.ch/h/razercfg)\n\nThis is a configuration utility for Razer devices on Linux systems.\n\nSupported devices\n-----------------\n\nDevice support table at [https://bues.ch/h/razercfg#device_support](https://bues.ch/h/razercfg#device_support)\n\nDependencies\n------------\n\n* Python 3.x: [https://www.python.org/](https://www.python.org/)  \n  Debian Linux: `apt-get install python3`\n\n* libusb 1.0: [http://libusb.org/](http://libusb.org/)   \nDebian Linux: `apt-get install libusb-1.0-0-dev`\n\n* PyQt5 (for the graphical qrazercfg tool only): [https://riverbankcomputing.com/software/pyqt/download5/](https://riverbankcomputing.com/software/pyqt/download5/)\nDebian Linux: `apt-get install python3-pyqt5`\n\n* cmake 3.5 or later (for building only): [https://cmake.org/](https://cmake.org/)  \nDebian Linux: `apt-get install cmake`\n\nNote that almost all distributions ship prebuilt packages of the\nabove dependencies.\n\nIf you installed a dependency after you already ran `cmake .` and/or `make`, it\nmight happen that the dependency is still not found. Just delete the cmake\nstatus files or unpack a clean razercfg tarball to workaround this issue.\n\n\nBuilding\n--------\n\nFirst invoke `cmake` to build the makefiles.\nThen invoke `make` to build the binaries:\n\n\u003cpre\u003e\ncmake .\nmake\n\u003c/pre\u003e\n\n(Note the required space and dot after the cmake command)\n\nInstalling\n----------\n\nFirst you need to install the tool libraries and binaries. Do this by executing\nthe following command as root:\n\n\u003cpre\u003e\nmake install\n\u003c/pre\u003e\n\nBe aware that `make install` installs the shared library `librazer.so` to `$PREFIX/lib`.\nThe default `$PREFIX` is `/usr/local/`, but the install prefix can also be changed via `-DCMAKE_INSTALL_PREFIX='\u003csomewhere\u003e'`.\nYou have to make sure that `librazer.so` in `$PREFIX/lib/` can be found by the dynamic linker `ld.so`.\nYour operating system most likely already has support for libraries in `/usr/local/lib`. So on most systems you don't have to do anything.\nIf this is not the case, or you installed razercfg somewhere else, a new library search path can be added via `/etc/ld.so.conf` or `/etc/ld.so.conf.d/`.\nSee your operating system manual for further information.\n\n### If you use **systemd**:\n\nThe `make install` step installed the razerd.service file. Reboot or run the\nfollowing command as root to start the razerd daemon:\n\n\u003cpre\u003e\nsystemctl start razerd\n\u003c/pre\u003e\n\n### If you do **not** use systemd:\n\nTo automatically start the required system daemon `razerd` at bootup time, you\nneed to install the init-script. This software package includes a generic\nexample script, that should work out-of-the-box on many Linux distributions. To\ninstall it, invoke the following commands as root:\n\n\u003cpre\u003e\ncp ./razerd.initscript /etc/init.d/razerd\nln -s /etc/init.d/razerd /etc/rc2.d/S99razerd\nln -s /etc/init.d/razerd /etc/rc5.d/S99razerd\nln -s /etc/init.d/razerd /etc/rc0.d/K01razerd\nln -s /etc/init.d/razerd /etc/rc6.d/K01razerd\n\u003c/pre\u003e\n\n### If you use **udev**:\n\nThe `make install` step installed the udev script to\n\u003cpre\u003e\n/etc/udev/rules.d/80-razer.rules\n\u003c/pre\u003e\nThis should work on most distributions.\n\nIf udev notification does not work, try to reboot the system.\n\nRazerD Configuration\n--------------------\n\nThe user may create a razerd configuration file in `/etc/razer.conf` which can be\nused to specify various razerd options and initial hardware configuration\nsettings.\nAn example config file is included as `razer.conf` in this package.\nIf no configuration file is available, razerd will work with default settings.\n\nX Window System (X.ORG) Configuration\n-------------------------------------\n\nIf you don't have an xorg.conf, you don't have to do anything and it should work\nout-of-the-box.\n\nX must _not_ be configured to a specific mouse device like `/dev/input/mouse0`. On\nconfiguration events, razerd may have to temporarily unregister the mouse from\nthe system. This will confuse X, if it's configured to a specific device.\nConfigure it to the generic `/dev/input/mice` device instead. This will enable X\nto pick up the mouse again after a configuration event from razerd.\n\nExample xorg.conf snippet:\n\n\u003cpre\u003e\nSection \"InputDevice\"\n    Identifier\t\"Mouse\"\n    Driver\t\"mouse\"\n    Option\t\"Device\" \"/dev/input/mice\"\nEndSection\n\u003c/pre\u003e\n\nAlternatively, do not specify a `\"Device\"` at all. X will autodetect the device\nthen:\n\n\u003cpre\u003e\nSection \"InputDevice\"\n    Identifier\t\"Mouse\"\n    Driver\t\"mouse\"\nEndSection\n\u003c/pre\u003e\n\nIn any case, do _NOT_ use: `Option \"Device\" \"/dev/input/mouseX\"`\n\nUsing the tools\n---------------\n\nTo use the tools, the razerd daemon needs to be started as root, first. Without\nthe background daemon, nothing will work. The daemon is responsible for doing\nthe lowlevel hardware accesses and for tracking the current state of the device.\nWhile the daemon is running, the user interfaces `razercfg` (commandline) and\n`qrazercfg` (graphical user interface) can be used.\n\nUninstalling\n------------\n\nIf you installed razercfg with your distribution packaging system, use that to\nuninstall razercfg.\n\nIf you compiled razercfg from source and installed it with `make install`, you\ncan use the `uninstall.sh` script from the razercfg archive to uninstall\nrazercfg from the system. It must be called with the install prefix as its first\nargument. That usually is `/usr/local`, unless specified otherwise in cmake. A\ncall to uninstall.sh might look like this:\n\n\u003cpre\u003e\n./uninstall.sh /usr/local\n\u003c/pre\u003e\n\nArchitecture\n------------\n\nThe architecture layout of the razer tools looks like this:\n\n\u003cpre\u003e\n -------------------\n| hardware driver 0 |--v\n -------------------   |\n                       |    ----------\n -------------------   |   | lowlevel |     --------      ---------\n| hardware driver 1 |--x---| librazer |----| razerd |----| pyrazer |\n -------------------   |    ----------      --------      ---------\n                       |                        |           ^ ^ ^\n -------------------   |     ---------------------------    | | |\n| hardware driver n |--^    | (to be written) librazerd |   | | |\n -------------------         ---------------------------    | | |\n                                              ^ ^ ^         | | |\n                                              | | |         | | |\n                           ---------------    | | |         | | |\n                          | Application 0 |---^ | |         | | |\n                           ---------------      | |         | | |\n                                                | |         | | |\n                           ---------------      | |         | | |\n                          | Application 1 |-----^ |         | | |\n                           ---------------        |         | | |\n                                                  |         | | |\n                           ---------------        |         | | |\n                          | Application n |-------^         | | |\n                           ---------------                  | | |\n                                                            | | |\n                           ----------                       | | |\n                          | razercfg |----------------------^ | |\n                           ----------                         | |\n                                                              | |\n                           -----------                        | |\n                          | qrazercfg |-----------------------^ |\n                           -----------                          |\n                                                                |\n                            --------------------------          |\n                          | Other Python applications |---------^\n                           ---------------------------\n\u003c/pre\u003e\n\nSo in general, your application wants to access the razer devices through\npyrazer or (if it's not a python app) through librazerd.\n(Note that librazerd is not written, yet. So currently the only way to access\nthe devices is through pyrazer).\nApplications should never poke with lowlevel librazer directly, because there\nwill be no instance that keeps track of the device state and permissions and\nconcurrency.\n\nLicense\n-------\n\nCopyright (c) 2007-2024 Michael Büsch, et al.\n\nSee the COPYING file for license information.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmbuesch%2Frazer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmbuesch%2Frazer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmbuesch%2Frazer/lists"}