keychron_qmk_firmware/keyboards/massdrop/ctrl/DOCUMENTATION.md
Ahmed Elshafey 3a69232213 [Keymap] Massdrop ctrl keymap (#7639)
* RGB config overhaul

Changing RGB config from setrgb to sethsv, trying out different color values.

* Merged changes

* Various changes and a couple additions

Added Git Layer with git macros for most operations and LED config to show the macro keys on layer. Activated with FN+3.
Added VIM Layer, this is a normal keycode layer with no macros for now but it has LED config that highlights the navigation and edit keys in VIM.
Added a sticky CTRL and sticky SHIFT layers. I have no idea why I did this actually, it's mildly useful but oneshot and tapdance would be better, will be removed in later commit.
Changed the LED config from setrgb to sethsv and the key by key LED config to array.
Some code improvements in process_record_user.
Better way to manage string macros using char array. Inspired by drashna's secret macros.

* Various keymap changes and added documentation

Updated massdrop/ctrl endgame keymap:
    Added layers for git and vim.
    Better LED config method, using ledmap, similar to what's used in many other keymaps.
    Improved process_record_user() mainly with reduced conditionals.
    Cleaned things up in the header and config.
    Added pretty much all qmk feature headers to rules and config, commented out to be enabled if desired. Firmware size should be considered.
    Not many features added in this commit. Shifting for a while to work on implementing raw hid for the keyboard and expanding qmk terminal.

Added documentation.md for massdrop/ctrl at keyboard level to house all related information for future use.
Added documentation for raw hid in docs, added the doc to feature index. Need some review for this documentation and suggested additions/changes.

* Some fixes

Fixed keymap documentation to include changes.
Removed useless double tap keys and simplified layer maps.

* Fixed error in keymap

* Removed documentation changes. Will present in another PR

* Update keyboards/massdrop/ctrl/DOCUMENTATION.md

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Update DOCUMENTATION.md

* Update keymap.c

fixed mouse layout incomplete arrow cluster

* Update keyboards/massdrop/ctrl/keymaps/endgame/keymap.c

Fixed Git layer led config

Co-Authored-By: totolouis <totolouis@users.noreply.github.com>

* Update DOCUMENTATION.md

Remove raw hid details

* Update rules.mk

Remove useless stuff

* fixed malformed led map causing compile fail, indentation fixes

* Update keyboards/massdrop/ctrl/keymaps/endgame/config.h

switch from TG_NKRO to NK_TOGG

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Update keymap.c

Switching from TG_NKRO to NK_TOGG

* Added yakuake layout

* Update keyboards/massdrop/ctrl/keymaps/endgame/keymap.c

Change biton32(layer_state) to get_highest_layer()

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Update keymap.c

Change from biton32 to get_highest_layer

* Fixed custom LED not toggling off

Co-authored-by: fauxpark <fauxpark@gmail.com>
Co-authored-by: totolouis <totolouis@users.noreply.github.com>
2020-01-14 21:34:41 -08:00

1.4 KiB

Massdrop CTRL Documentation

This is a WIP and will contine to be updated for some time in the future.

This doc will include all currently available information, including low level information, for the CTRL keyboard collected from code committed by Drop, Inc. and freely available sources. It will also include a deprecation list of code committed by Drop, Inc. that is no longer needed and a TODO list for necessary code fixes and changes for existing protocol and a list of suggested improvements. This is the hopes of making MD CTRL fully QMK compatible by improving the existing protocol and/or perhaps working on a ChibiOS port at one point.

Note: given that all Drop, Inc. keyboards to date have used the same MCU and the same protocol, the MCU and protocol documentation should apply to all keyboards in Massdrop folder. Most HID-related information however is product-specific and will not apply to other keyboards.

MCU

  • Microchip Technology SAMD51J18A
  • RISC 32-Bit
  • 120MHz Cortex®-M4
  • Datasheet

HID descriptor

  • VENDOR_ID 0x04D8
  • PRODUCT_ID 0xEED2
  • DEVICE_VER 0x0101
  • MANUFACTURER "Massdrop Inc."
  • PRODUCT "CTRL Keyboard"

USB Hub descriptor

  • VENDOR_ID 0x04D8
  • PRODUCT_ID 0xEEC5
  • MANUFACTURER "Massdrop Inc."
  • PRODUCT "Massdrop Hub"