Commit graph

6 commits

Author SHA1 Message Date
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