Commit Graph

452 Commits

Author SHA1 Message Date
Adam Honse
6c729ff60f Fix possible loss of data warnings in RGBController.cpp 2024-08-16 23:54:14 -05:00
Adam Honse
a3066db16c Update even more file header comments to standardized new format 2024-05-03 11:52:02 -05:00
Arcitec
a909818406 Accurate character labels in Nordic KBD layout
* The previous layout was not the real Nordic layout. Every character has now been fixed to use the correct, technical terms and accurate key legends. It now correctly represents the Nordic ISO layout standard.
2023-09-03 17:15:12 +02:00
Adam Honse
28333888fd Move KeyboardLayoutManager to a new folder 2023-04-02 19:48:26 -05:00
Adam Honse
52e95355e2 Clean up RemoveKeys and add a remove list to the key overlay 2023-04-02 18:57:08 -05:00
Adam Honse
2bfa6e8797 Change Keyboard Layout Manager to build base map from zones, use a bitmask to define sizes as combinations of zones
* Rework Insert and Swap functions to use index-based loops
 * Insert shifts all keys after the inserted key in the same row to the right
 * Swap inserts without shifting when swapping a key into an unused space
2023-04-02 19:07:59 +00:00
Chris
71a3d5355b Minor changes to the KeyboardLayoutManager to cleanse log messaging
* Added KLM_CLASS_NAME for log entry consistency
* Small edits to messaging for clarity & replayability
* Minor style corrections
2023-03-25 08:04:30 +11:00
Chris
406c83b300 Initial commit for Razer Deathstalker V2
+ Added PID for the Deathstalker V2
+ Registered detectors
+ Added layout and metadata to RazerDevices.cpp
+ Added capabilities to RazerController.cpp
+ Resolves #2904
2023-03-19 18:04:43 +00:00
Chris M
35453db3e0 Initial commit for the Keyboard Layout Manager
* Implements physical size:
    Full Size
    TKL
    60%
* Implements regional layouts
    ANSI QWERTY
    ISO QWERTY
    QWERTZ
    AZERTY
    JIS
* Customisible layouts produced by adding and swapping custom keys
allowing for keyboard SKU variants
* Exportable matrix maps filled by map count, matrix index or filled by an
array of values.
* Matrix map size adjustable to fixed width and height to support size
specific protocols. e.g. Razer
* Debug keyboards are customisable by adding the following values into
the JSON list.
    "Layout" (int),
    "Size" (int),
    "Linear" (bool),
    "Underglow" (bool),
    "Insert" array[ { "Zone" (int), "Row" (int), "Col" (int), "Val"
(int), "Name": (string) } ],
    "Swap" array[ { "Zone" (int), "Row" (int), "Col" (int), "Val" (int),
"Name": (string) } ]
2023-03-15 21:34:08 +00:00
Cooper Hall
45be4329c5 Fixed some warnings 2023-03-11 23:25:26 +00:00
Chris
847b10bda9 Initial commit for Razer Blade 14 2022 to resolve #3067
+ Adding entry for the Blade 14 2022 PID
+ Registered detectors
+ Added metadata to RazerDevices.h
+ Added capabilities to RazerController.cpp
+ Adding QWERTZ layout to Blade 12 2022 mapping
+ Adding missing DE key names to RGBControllerKeyNames and
DeviceView.cpp
2023-02-01 22:51:09 +11:00
Adam Honse
447e936464 Segments 2023-01-20 19:00:45 +00:00
Joseph E
0de010a009 Add Korean/Japanese/Nordic key names to RGBController 2022-10-31 23:56:42 +00:00
Codename-Antares
ae8f40db00 Add Type Keypad & Tartarus Pro Layout for Razer 2022-10-21 16:52:09 +00:00
Chris
9fe664ee72 Adding DEVICE_TYPE_ACCESSORY to enum
+ Adding Accessory icons for light and dark theme
+ Adding entry into OpenRGBDialog2 to display icon
+ Creating `Accessory` category in "Supported Devices"
2022-09-01 05:19:09 +00:00
Adam Honse
389cdf340f Allow mode specific color mode for SetCustomMode 2022-08-21 22:08:23 -05:00
Adam Honse
afb975e5fc Add generic implementation of SetCustomMode to RGBController class 2022-08-09 20:49:38 -05:00
Chris
864422b4bc Fixing regression from 942a842a
+ Adding ZONE_EN_KEYBOARD constant char* to KeyNames
+ Replacing declarations of "Keyboard" zone with new constant char*
+ Adding "Keyboard" zone check RGBController_Razer.cpp before hiding keys
2022-08-02 21:03:28 +00:00
Chris
f3eac499d4 Allow for server side controller resizing
* Save sizes profile on the server
* Update RGBController_Network size on the client
2022-07-04 20:16:39 +00:00
Chris
8f8764232e Adding Legend to Suported Devices
+ Adding 🤖 symbol for Automatic saving
+ Changing ⚠️ to 🚨 for better visibility
+ Adding :tools: symbol to mean `partial support`
+ Adding  symbol to mean not currently implemented by OpenRGB
2022-06-21 16:37:20 +00:00
Chris
70fdf54d5e Adding DEVICE_TYPE_MICROPHONE to enum
+ Adding microphone icons for light and dark theme
+ Adding entry into OpenRGBDialog2 to display icon
+ Creating `Microphone` category in "Supported Devices"
+ Changing Razer Seiren Emote to a `Microphone`
2022-06-10 10:40:58 +10:00
Chris
524675108d Automatic generation of markdown pages for supported devices
+ Added build-supported-devices.sh script
+ Added new target in CI/CD to build at compile time
2022-05-30 13:30:44 +10:00
Chris
bc10e3f772 Automatic generation of udev rules for supported devices
+ Added build-udev-rules.sh script
+ Added new custom target in Linux section of .pro to accommodate new rules location
2022-04-17 12:31:02 +10:00
Arnaud MAURIN
287618ebe5 Add new device type "Case" 2022-03-13 04:49:18 +00:00
Adam Honse
8b5a23148a Clean up RGBController.h 2022-02-21 12:08:59 -06:00
Adam Honse
783259a870 Fix Tab key name 2022-02-17 15:26:02 -06:00
Adam Honse
f1c5905cba Move definitions of key name memory constants to a separate .cpp file, hopefully to cut down on file size 2022-02-13 00:48:55 -06:00
Chris
d8e023b4c8 Initial commit for a canonical list of key names
+ Created RGBControllerKeyNames.h
* Adjusted every reference for key names found in `DeviceView`
* Formatting corrections
2022-02-13 15:40:15 +11:00
Qwex
57e7e6a823 Revert "Fix frames skip when using external effects engine" to fix ram race condition 2021-12-30 06:00:59 +00:00
NicolasNewman
7b63813cdb Add storage device type
Commit amended from original XPG Spectrix S40G merge request by Adam Honse <calcprogrammer1@gmail.com>
2021-11-22 00:12:30 -06:00
Cheerpipe
3100f72601 Fix frames skip when using external effects engine 2021-07-07 16:56:02 -05:00
Adam Honse
cbee33706f Fix some issues with mode constructor 2021-07-05 04:04:27 -05:00
Adam Honse
5130f07e21 Add saving support to network protocol 2021-07-04 21:17:55 -05:00
Adam Honse
eade8fea1a Add save to device support to RGBController 2021-07-04 21:17:45 -05:00
Chris
a46eccef3c Added brightness to profile loading and saving
* Bumped profile version to 3
* Loading a v1/v2 profile onto a device with brightness will work
* Loading a v3 profile onto a device without brightness also works
* Add profile version parameter to Get/SetModeDescription

Commit amended for code style and to update versioning by Adam Honse <calcprogrammer1@gmail.com>
2021-07-04 21:16:56 -05:00
Chris
6fd2ea9276 Initial commit for Brightness in RGBController API
* Added DeviceHasBrightness() = false; to RGBController as overridable
* Added Brightness to Mode struct
* Added BrightnessSlider to the OpenRGBDevicePage ui and the supporting
code to pass to the RGBController

Commit amended for code style and to split API changes and controller changes out by Adam Honse
<calcprogrammer1@gmail.com>
2021-07-04 21:16:49 -05:00
Chris
b76265cf7d Convert mode from struct to class, add automatic initialization
* To avoid filtering in the profile manager and to ensure that color_mode is set to MODE_COLORS_RANDOM correctly
for HW that has the mode flags

MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_PER_LED_COLOR

The values for speed_min, speed_max, colors_min and colors_max NEED to be initialised to allow for a saved
profile to load correctly in `ProfileManager::LoadDeviceFromListWithOptions`

Commit amended for code style by Adam Honse <calcprogrammer1@gmail.com>
2021-06-26 00:29:51 -05:00
Adam Honse
d103906c75 Override UpdateLEDs() for RGBController_Network to always process synchronously 2021-05-21 16:39:03 -05:00
Tam Do
7952a035b5 Continued the work started by !62 with respect to adding support for Cooler Master keyboards using the libcmmk library.
Commits squashed and amended for code style by Adam Honse <calcprogrammer1@gmail.com>
2021-04-30 01:42:49 +00:00
Lukas Niederbremer
7e4b9c0cb0 Add experimental Cooler Master MasterKeys support 2021-04-30 01:42:49 +00:00
Adam Honse
5616f547e4 Fix a bunch of warnings 2021-04-29 13:42:49 -05:00
Adam Honse
be1fbc27ca Add device type string for virtual device 2021-04-22 16:24:48 -05:00
morg
c45f864977 Add virtual device type 2021-04-21 21:37:50 +02:00
morg
2a6b457324 Add UnregisterRGBController method to ResourceManager
Commit amended by Adam Honse <calcprogrammer1@gmail.com>
2021-04-20 09:21:24 -05:00
Cheerpipe
e9f3a1b3b9 Logitech G560 initial support
Logitech G560 Speaker working with Direct Mode using same bits as the Logitech Ambilight and Audioviz. Other modes are not working (get) as expected.

Note: G560 Direct mode is slow because Logitech hardware implementation but it is working.

Changing volume at the same time colors are changing can reduce FPS because G560 uses the same channel for led and audio modes commands.

Commits squashed and amended for code style by Adam Honse <calcprogrammer1@gmail.com>
2021-02-15 08:45:57 -06:00
morg
dba814215d Fixing memory leaks in controllers 2021-02-05 16:25:46 +01:00
Adam Honse
3ad57aba9a Interfaceify RGBController so it can be used in plugins, add GetDetectionPercent to Resource Manager interface so it can be used in plugins 2021-01-06 00:34:26 -06:00
Adam Honse
72da8f362c SDK protocol versioning implemented. Protocol updated to version 1 which adds vendor string to controller request. 2020-12-01 21:02:32 -06:00
Adam Honse
09a9a5c257 Add vendor string to RGBController API and update all controllers with vendor information, add vendor to device information page 2020-12-01 19:24:52 -06:00
Adam Honse
1e4eacd337 Add a Light device type with a bulb icon 2020-11-04 09:23:17 -06:00