{ "info": { "author": "RedFantom", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: POSIX :: Linux", "Programming Language :: C", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Hardware" ], "description": "# MasterKeys Linux SDK\n[![Build Status](https://travis-ci.com/RedFantom/masterkeys-linux.svg?token=UBcv5ZyxSrELyQhSpadq&branch=master)](https://travis-ci.com/RedFantom/masterkeys-linux)\n[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n[![PyPI version](https://badge.fury.io/py/masterkeys.svg)](https://pypi.org/project/masterkeys/)\n[![Documentation](https://readthedocs.org/projects/masterkeys-linux/badge/?version=latest)](https://masterkeys-linux.readthedocs.io/en/latest)\n\nCooler Master provides an SDK for its MasterKeys series of keyboards\nfor use under Windows, but not for Linux. The SDK communicates with an\nOUT-endpoint in the USB HID-device of the keyboard. This library aims to\nmake this communication accessible from Linux by using libusb.\n\nThis is the first time I have written such a large project in C, let\nalone an actual shared library, so you may spot things that are bad\npractice, bugs or other issues. Please let me know in the issues section \nif you spot anything!\n\n## Disclaimer\nThis library is not endorsed or supported by Cooler Master Inc. or any\nof its affiliates. They have explicitly refused to help in the \ndevelopment of this library. There is no official support for this \nlibrary from Cooler Master Inc. Any and all questions should be posted \non the issues page.\n\n## Device support\nAs Cooler Master Inc. has not provided any support, this library can \nonly support a limited amount of devices, specifically, it can only \nsupport devices for which the `record` executable target has been\nexecuted. This program uses the library to register an offset for each\nkey, which is required for the library to be able to control individual\nkeys. Effects and full lighting colors can be set regardless of these\noffsets.\n\nThe current list of supported devices includes:\n- MasterKeys Pro L RGB ANSI\n- MasterKeys Pro S RGB ANSI (untested)\n- MasterKeys Pro L RGB ISO (untested)\n\nIf you would like for your device to be supported as well, please run \nthe `record` executable.\n\nKeyboards with only monochrome lighting may use a different protocol and\nthus they would probably require more modifications than just adding a\nkey layout matrix. Do not hesitate to open an issue if you have a\nmonochrome keyboard, would like to see support and are willing to do\nsome USB packet sniffing.\n\n## Compiling and installing\nTo be able to compile and install any of the targets in this library,\n`cmake` and its dependencies are required. Depending on your specific\ndistribution, the name of the packages (if they are provided) may \ndiffer from the ones given here. The reference commands are for Ubuntu.\n```bash\n# Include libx11-dev if you wish to run the ambilight example\nsudo apt-get install cmake libusb-1.0.0-dev\ncd Source/masterkeys-linux # Or wherever you have cloned the repo\n# Automatically also builds target ambilight\n# Exclude the examples in the CMakeLists.txt if you do not have libx11-dev\ncmake .\nmake\nsudo make install\n\n# For the Python library (system-wide install)\nsudo python -m pip install scikit-build\nsudo python setup.py install\n\n# Or if you would rather install from PyPI\nsudo python -m pip install masterkeys\n```\n\nWheels are not provided at this time because building `manylinux` wheels\nrequires a different environment. It is considered as a possibility \nthough. Until that time, it is possible to use the normal `linux_x86_64`\nwheels provided on the [releases-page](https://github.com/RedFantom/masterkeys-linux/releases).\n\n## Contributing\nPull Requests and contributions in other forms (such as issue reports) \nas well as tips or possible improvements are very welcome! As mentioned,\nthis is my first C library, and any help is greatly appreciated! If it \ncomes in the form of code, you will be credited for your work in the\ncopyright notice.\n\nIf you would like for your device to be supported, please read the \n`Device Support` section of this file.\n\nGiven the small size of this project, there is no code of conduct or \n`CONTRIBUTING.md` with guidelines, but keep things professional. Also,\nuse descriptive commit messages. Force pushing to forks while a PR is \nopen is fine (as long as it does not completely remove the \ncontributions).\n\n## License\n```license\nMasterKeys Linux - C Library to control RGB keyboards\nCopyright (C) 2018 RedFantom\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, version 3.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program. If not, see .\n```\n\n## Credits\nPart of the implementation of this library is based on the more\nextensive protocol description written by [`chmod222`](https://github.com/chmod222),\navailable under the LGPLv3 license in [`libcmmk`](https://github.com/chmod222/libcmmk),\nwhich has the same goal as this project.", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/RedFantom/masterkeys-linux/releases", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/RedFantom/masterkeys-linux", "keywords": "", "license": "GNU GPLv3", "maintainer": "", "maintainer_email": "", "name": "masterkeys", "package_url": "https://pypi.org/project/masterkeys/", "platform": "", "project_url": "https://pypi.org/project/masterkeys/", "project_urls": { "Download": "https://github.com/RedFantom/masterkeys-linux/releases", "Homepage": "https://github.com/RedFantom/masterkeys-linux" }, "release_url": "https://pypi.org/project/masterkeys/0.2.0/", "requires_dist": null, "requires_python": "", "summary": "MasterKeys Control Library for Linux", "version": "0.2.0" }, "last_serial": 4900991, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "fa3e8d6f717c4c63d711de772d9d135b", "sha256": "e3485790de0eda7cc18737f6856e338afaeb6bbac075d47f2bed429956a1363e" }, "downloads": -1, "filename": "masterkeys-0.1.0.tar.gz", "has_sig": false, "md5_digest": "fa3e8d6f717c4c63d711de772d9d135b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33784, "upload_time": "2018-07-12T12:11:38", "url": "https://files.pythonhosted.org/packages/06/1d/75a33a5bacb51a2ab4278bf7f8203a81a9a815714ec4c08775c36ee2ec21/masterkeys-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "e777809bde5798768ffa8e47552f9ad9", "sha256": "1e9d2c3da4af3d40dd1e0aa649ee032d0b7afdb76e137e92f138e989a466f8c0" }, "downloads": -1, "filename": "masterkeys-0.1.1.tar.gz", "has_sig": false, "md5_digest": "e777809bde5798768ffa8e47552f9ad9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35058, "upload_time": "2018-09-16T13:29:56", "url": "https://files.pythonhosted.org/packages/81/3e/147d7b2bde3cbcc9ff3bcf6563f2c015375410bc31091cfa161f435c3747/masterkeys-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "775ea787bac08bae5b6da4aad3727bc3", "sha256": "8d1e4d72b6b9733f7c98d786791a802ae490b7eb69713b1520edd088c590709d" }, "downloads": -1, "filename": "masterkeys-0.2.0.tar.gz", "has_sig": false, "md5_digest": "775ea787bac08bae5b6da4aad3727bc3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62795, "upload_time": "2019-03-05T17:40:47", "url": "https://files.pythonhosted.org/packages/51/60/4bfea43d185f939debe75b30e80c3d9055d7ef67460d5563c55df2c8c26c/masterkeys-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "775ea787bac08bae5b6da4aad3727bc3", "sha256": "8d1e4d72b6b9733f7c98d786791a802ae490b7eb69713b1520edd088c590709d" }, "downloads": -1, "filename": "masterkeys-0.2.0.tar.gz", "has_sig": false, "md5_digest": "775ea787bac08bae5b6da4aad3727bc3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62795, "upload_time": "2019-03-05T17:40:47", "url": "https://files.pythonhosted.org/packages/51/60/4bfea43d185f939debe75b30e80c3d9055d7ef67460d5563c55df2c8c26c/masterkeys-0.2.0.tar.gz" } ] }