All Projects → vookimedlo → ck550-macos

vookimedlo / ck550-macos

Licence: MIT license
MacOS effect control SW for a CoolMaster CK550 & CK530 Keyboard (US Layout).

Programming Languages

swift
15916 projects
Rich Text Format
576 projects
shell
77523 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to ck550-macos

kindaVim.theapp
Ultimate Vim Mode for macOS
Stars: ✭ 372 (+2557.14%)
Mutual labels:  keyboard, macos-app
rasp vusb
This repo explains how to turn your Raspberry Pi Zero into USB Keyboard and Mouse. Also provides sample code and binaries to control them.
Stars: ✭ 85 (+507.14%)
Mutual labels:  keyboard, usb-hid
Awesome Linux Software
A list of awesome applications, software, tools and other materials for Linux distros.
Stars: ✭ 16,943 (+120921.43%)
Mutual labels:  cli-app, gui-app
openinput
Open source firmware for input devices
Stars: ✭ 43 (+207.14%)
Mutual labels:  keyboard, usb-hid
wallpaper-cli
Get or set the desktop wallpaper
Stars: ✭ 151 (+978.57%)
Mutual labels:  cli-app
awesome-cli-apps
🖥 📊 🕹 🛠 A curated list of command line apps
Stars: ✭ 10,603 (+75635.71%)
Mutual labels:  cli-app
hidstream
Streaming HID events in Node.js
Stars: ✭ 52 (+271.43%)
Mutual labels:  keyboard
use-keyboard-shortcut
A custom hook that allows adding keyboard shortcuts to React applications
Stars: ✭ 41 (+192.86%)
Mutual labels:  keyboard
unigem-objective-c
Unicode Gems, a Mac app, an iOS app, and an iOS keyboard for letter-like unicode.
Stars: ✭ 22 (+57.14%)
Mutual labels:  keyboard
FSDevTools
Project to support developer experience (DX) with FirstSpirit template development by offering a connection between a VCS like Git and FirstSpirit.
Stars: ✭ 29 (+107.14%)
Mutual labels:  cli-app
stm32 i2c to usb hid multitouch
i2c to usb hid multi touch with stm32
Stars: ✭ 55 (+292.86%)
Mutual labels:  usb-hid
vue-focus-keyboard
A keyboard component for Vue. Start to write immediately. No input element definition. Plug and play!
Stars: ✭ 63 (+350%)
Mutual labels:  keyboard
keyboard mouse emulate on raspberry
Bluetooth Keyboard Mouse Emulator on Raspberry Pi
Stars: ✭ 230 (+1542.86%)
Mutual labels:  keyboard
todo-cli
Minimal TODOs inside your terminal. Learning project for Rust.
Stars: ✭ 36 (+157.14%)
Mutual labels:  cli-app
Nephos
Project Nephos [GSoC '18]: Automated recording, processing, and uploading of TV streams for Universities.
Stars: ✭ 20 (+42.86%)
Mutual labels:  cli-app
mac-terminal-shortcuts
Useful and common terminal shortcuts for macOS
Stars: ✭ 39 (+178.57%)
Mutual labels:  keyboard
GiG
🎉 generate gitignore files for almost all languages
Stars: ✭ 24 (+71.43%)
Mutual labels:  cli-app
hyperx-cloud-flight-wireless
Reverse engineered module for interfacing with HyperX Cloud Flight Wireless
Stars: ✭ 27 (+92.86%)
Mutual labels:  usb-hid
pi400kb
Raw HID keyboard forwarder to turn the Pi 400 into a USB keyboard
Stars: ✭ 182 (+1200%)
Mutual labels:  keyboard
bin-version-cli
Get the version of a binary in semver format
Stars: ✭ 36 (+157.14%)
Mutual labels:  cli-app

ck550-macos

GitHub license Platform Latest release codebeat badge Build Status FOSSA Status

CoolerMaster has never provided any MacOS SW or SDK for their CK550 and CK530 keyboards.

CK550-macos project tries to fix this situation and provides a couple of the MacOS applications for controlling the majority of available keyboard LED effects. Applications support only the CK550 and newly the CK530 US-Layout keyboards.

Both applications differ only in a user interface, one is CLI-based, and the latter is GUI-based. Applications do not overwrite any stored settings in a keyboard. Changes are temporary, so once the keyboard is unplugged, all changes made by ck550-macos are lost. The same situation happens if you switch a keyboard to a different profile. The reason for this behavior is to keep the internal keyboard flash write cycles untouched.

Supported LED effects
Static
Rainbow Wave
Crosshair
Reactive Fade
Custom
Stars
Color Cycle
Breathing
Ripple
Snowing
Reactive Punch
Heartbeat
Fireball
Circle Spectrum
Reactive Tornado
Water Ripple
Off

All effects are previewed on the official CoolerMaster website.


Command Line App

➜  ./ck550-cli
-= CK550 MacOS Utility =-
Available commands:

   about                     About ck550-cli...
   effect-breathing          Set a breathing effect
   effect-circle-spectrum    Set a circle spectrum effect
   effect-color-cycle        Set a color-cycle effect
   effect-crosshair          Set a crosshair effect
   effect-custom             Set a custom color for individual keys
   effect-fireball           Set a fireball effect
   effect-heartbeat          Set a heartbeat effect
   effect-off                Set an off effect
   effect-rainbow-wave       Set a rainbow-wave effect
   effect-reactive-fade      Set a reactive-fade effect
   effect-reactive-punch     Set a reactive-punch effect
   effect-reactive-tornado   Set a reactive-tornado effect
   effect-ripple             Set a ripple effect
   effect-snowing            Set a snowing effect
   effect-stars              Set a stars effect
   effect-static             Set a static effect
   effect-water-ripple       Set a water ripple effect
   help                      Display general or command-specific help
   license                   ck550-cli license
   license-components        ck550-cli 3rd party components and their licensing
   monitor                   Monitor HID devices continuously to see changes on an USB bus
   version                   Display the current ck550-cli version

Every available command is heavily documented.

➜  ./ck550-cli help effect-single-key
-= CK550 MacOS Utility =-
Set a reactive-fade effect

[--profile (integer)]
	keyboard profile to use for a modification

[--speed (speed)]
	effect speed (one of 'highest', 'higher', 'middle', 'lower', or 'lowest'), by default 'middle'

[--color (integer)]
	color (format: --color "255, 255, 255"), by default the color is white

[--background-color (integer)]
	background color (format: --background-color "255, 255, 255"), by default the color is black


➜ ./ck550-cli effect-reactive-fade --color "255, 0, 0"

All effects could be configured from a command line except the Custom effect. This is effect too complicated, which allows to configure any key located on keyboard. You can use this configuration file as a template to change any colors for any keys.

➜  ./ck550-cli help effect-custom
-= CK550 MacOS Utility =-
Set a custom color for individual keys

[--profile (integer)]
	keyboard profile to use for a modification

(string)
	the configuration file describing individual key colors


➜  ./ck550-cli effect-custom ~/myFavouriteGameKeys.json

FOSSA Status

GUI App

CK550-MacOS GUI application is a MacOS menu bar (aka status bar) application.

CK550 Main Menu

The main menu contains two switchable options.

  • Adjust LEDs on a sleep and wake up menu item in its On state controls if keyboard is instructed to use a previously selected LED effect on system wake up or to turn off all LEDs when system sleeps.

  • Set effect on a keyboard detection menu item in its On state instructs a keyboard to use a previously selected LED effect during a keyboard detection.

Effects menu item displays a submenu containing all available effects for a selection.

CK550 Effect Menu

All effects could be configured either by selecting a general Preferences... menu item, or by selecting a configuration icon on the right side of a given effect.

Changed preferences are saved immediately and are restored during the application startup.

CK550 Reactive Punch Preferences

The CK550 Custom effect could export and import the effect configuration, which is handy to have an ability to load predefined keys colors for various software or games. The exported configuration files are fully compatible with the CK550-MacOS CLI application.

CK550 Custom Preferences


Installation

CK550-MacOS GUI & CLI applications are distributed in two fashions, which is either a Homebrew CASK, or the self-updatable DMG.

Self-updatable DMG

The self-updatable DMG is available in a release section. Be aware that a CLI application is included in the GUI app bundle. You can run the ./ck550.app/Contents/MacOS/ck550-cli.app/Contents/MacOS/ck550-cli or create a symbolic link to provide an easy access.

Homebrew CASK

If you haven't install the Homebrew yet, follow their instructions.

Then, applications could be installed by following commands.

brew tap vookimedlo/homebrew-ck550
brew cask install ck550-macos

If everything went well, you see a similar output and both GUI and CLI applications are ready to use.

➜   brew cask install ck550-macos
==> Satisfying dependencies
==> Downloading https://github.com/vookimedlo/homebrew-ck550/releases/download/v...
==> Verifying SHA-256 checksum for Cask 'ck550-macos'.
==> Installing Cask ck550-macos
==> Moving App 'ck550.app' to '/Applications/ck550.app'.
==> Linking Binary 'ck550-cli' to '/usr/local/bin/ck550-cli'.
🍺  ck550-macos was successfully installed!

Later, you can upgrade this application by following command.

brew cask upgrade ck550-macos

Other CK keyboard models

It's possible that other CK keyboard models can be controlled by this software. If you are brave enough, you can enable your keyboard model by adding its USB PID to Constants.swift file. Just extend the KeyboardPIDs enum, re-compile the code base, give it a try and let me know.

enum KeyboardPIDs: Int, CaseIterable {
    case CK550 = 0x007f; // Works - @vookimedlo - this is the only keyboard I have, any contribution for other models is welcome!!!
    case CK530 = 0x009f; // Works - @cscheib - suggested & reported - Thanks!!!
}

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].