Skip to content

Karmar2323/steelseries-keyboard-clock

Repository files navigation

Real-time clock for SteelSeries keyboards

Some SteelSeries keyboard models have an OLED screen for displaying small images, keyboard configurations or events from compatible games and apps. The aim of this project is to enable viewing of real time clock digits on the SteelSeries keyboard screen.

Work in progress

The project was started on October 9th 2022 by taking a look at SteelSeries GameSense SDK. Programming continued with small steps on October 14th and 15th, progressing to the first contribution on the 16th.

The minimum functionality target, the local time on the OLED screen, was achieved on October 30th 2022. Further development may include e.g. stability improvement, sleep mode/screen saver, start/stop schedule, using of illumination/RGB lighting...

The next new functionality was devised in early September 2023 as the evenings begun darkening again. Inputting a number on the command line changes the clock event update interval. This might be useful if, for instance, another app also has events to show on the screen. The restriction of intervals to under 15 seconds is due to GameSense's deactivation timeout.

Working functionality

On the OLED screen is displayed

  • the icon for clock from SteelSeries GameSense SDK,
  • the current time (e.g. 9.37 or 22.02 or 12:33),
  • a progress bar that depicts the seconds accumulating toward the next minute.

Photo of the screen of SteelSeries Apex 7

The command line interface

  • accepts numbers from 1 to 14 to set the clock update interval in seconds.

Requirements

  • Node.js version 18
  • SteelSeries Engine 3 or SteelSeries GG on Windows
  • A screened SteelSeries device

Instructions

  • Download the code from this repository with a browser: Click "Code", then "Download ZIP".
  • Unpack the downloaded ZIP file.
  • Open a command prompt at the location of the unpacked files.
  • Start the app with the command: node main.js or node main.
  • Change update interval of the on-screen clock: input a number (1 to 14 accepted).
  • Terminate the app: Use the force (⌃C, ⌃C).
  • Install dependencies (for testing and development) with the npm package manager: npm install.
  • Run the test script: npm test.
  • Troubleshooting: Try restarting SteelSeries Engine or GG.

More readme content may be coming later.

Releases

No releases published

Packages

No packages published