* Changed Rocket League to no longer rely on float but int for boost reading * Small fixes Fixed layer sometimes losing it's parent after edit Reoganized layer type view(models) Added animations to headsets (broken for Corsair atm) * Working toward 1.2.0 Fixed sliding animations sometimes leaving a blank pixel Added a 'new folder' button (resolves #123) Added official G810 support (needs testing, shares profiles with the G910, resolves #114) Added support for generic Logitech RGB devices (needs testing, pretends to be a headset for now, resolves #45) * Implemented a generic fix for transparency issues * Rendering cleanup Added a RenderFrame class to encapsulate all bitmaps that must be rendered LayerTypes now define a target device LayerTypes can set wheter to be drawn in the editor or not Added Generic device type * Resharper cleanup * Fixed startup issues, together with the refactor this resolves #111 it seems. * Fixed profile editor crash Fixed boolean condition not showing last value in editor * Added missing generic device type usage check * Generic device fixes * Fixed folder cloning Fixed unsaved changes false-positive * Profile editor no longer takes over keyboard if a game is running Updated Rocket League for 1.21 * Added JsonIgnore to ILayerType properties Renamed Generic device to Generic (Logitech) * Reduced profile editor CPU usage * Non-keyboard types clean up keyboard properties when selected Fixed a crash while saving * Added layer resize on import Null reference fixes Cleaned up JSON some more Added default animation to layer (NoneAnimation) Removed unnecessary layer properties casts * Updated default profiles for all keyboards * Bumped version number to 1.2.0
Artemis
Artemis adds highly configurable support for several games to a range of RGB keyboards, mice and headsets.
Download: https://github.com/SpoinkyNL/Artemis/releases
FAQ: https://github.com/SpoinkyNL/Artemis/wiki/Frequently-Asked-Questions-(FAQ)
Current Features
- Support for Corsair, Logitech and Razer keyboards.
- Support for multiple games including Dota 2, The Witcher 3, Rocket League, and CS:GO.
- Non-gaming effects such as type waves and audio visualization.
- A layer-based profile system allowing an immense amount of customization.
- A fancy, modern looking UI with multiple themes.
Currently the following games are supported
- Counter-Strike Global Offensive (uses native gamestate intergration)
- Dota 2
- Rocket League
- The Division (beta)
- The Witcher 3
- Overwatch
The following keyboards are supported
- All Corsair RGB keyboards
- Logitech G910
- Logitech G810 (untested)
- Logitech G410 (untested)
- Razer BlackWidow Chroma
Other peripherals
- All Corsair RGB mice
- All Corsair RGB headsets
For any keyboards/games/effects we'd love PRs!
Support is planned for
- Project CARS
- What you happen to suggest!
For online games we greatly prefer to use an official API, since memory reading is frowned upon by anti-cheat sofware.
Profile editor
For its games Artemis uses a custom-made layer system. For each game you can make one or more profiles consisting of layers that interact with the game. Layers can contain a color, multiple colors, animations and even GIFs!
All this is done in the profile editor. For each game and keyboard we provide a default profile, but you're free to duplicate and modify this, or create one entirely from scratch.
The screenshot above shows the profile editor as it would appear for CS:GO. The preview shows a rough indication of how the layers will look and allows dragging and resizing. A realtime preview is also shown on the keyboard.
Layers can be reordered or organized into folders by dragging and dropping them. There are multiple layer types
- Keyboard layer
- Keyboard GIF layer (Yes, allows you to display a GIF on your keyboard!)
- Mouse layer
- Headset layer
- Folder
A keyboard layer's appearance is controlled by its brush. Brushes can be created using the color picker. For more examples, see the demo profile included in the 'Windows Profile' effect.
The above screenshot shows a rainbow gradient made with the color picker.
A layer's properties can be adjusted to react to ingame events and variables. This screenshot shows how conditions can be attached to a layer, in this case this layer is only enabled when the player has more than 14.000 ingame cash.
Besides adding display conditions to layers, it is also possible to base certain properties on what is happening ingame.
In this example, the layer is configured to become smaller when the player loses health. The layer's height is based on the percentage of health left, with the maximum health being 100, shrinking downwards as the health decreases.
To keep things interesting, layers can also be configured to use animations. Here's a preview of the demo profile showing a few of the things possible.
Videos
Rocket League boost display
The Witcher 3 sign display
Special thanks to:
- Corsair and GloriousGe0rge in particular for their continued support of Artemis
- DarthAffe for his great help and awesome CUE SDK wrapper, CUE.NET
- JewsOfHazard and Thoth2020 for their work and ideas
- All the people that helped by reporting bugs over the last few months





