MX Creative Keypad
How OpenLogi binds the MX Creative Keypad's nine LCD keys and two paging buttons, draws their faces, and pages through binding sets.
The MX Creative Keypad connects over its USB-C cable as 046d:c354. Its
firmware reports no device type, so OpenLogi recognises it from that USB
identity. What follows describes the product; what your own unit answers is
what openlogi diag features prints.
Controls
The keypad has two kinds of keys, and they reach OpenLogi in different ways:
| Control | Binds as | Reported through |
|---|---|---|
| Nine LCD keys, a 3×3 grid | gridTopLeft, gridTopMiddle, gridTopRight, gridMiddleLeft, gridMiddle, gridMiddleRight, gridBottomLeft, gridBottomMiddle, gridBottomRight | A vendor report on the keypad's HID++ interface; no HID++ feature |
| Left and right paging buttons | KeyLeftPaging, KeyRightPaging | 0x1b04 |
Open the keypad's Keys tab and click a key to open its panel. The panel offers the same actions as any other key. See Keyboard for how the panel works.
OpenLogi only observes the LCD keys. It writes nothing to the keypad to capture them, so an unbound key keeps doing nothing, as it does without OpenLogi.
Per-app profiles work on the keypad as on a keyboard. Choose a profile on the keypad's Keys tab, and its bindings take over while that app is in front.
Key faces
Each bound LCD key shows the icon of its action. This is the same glyph the settings window and the Actions Ring draw. An unbound key is blank. The agent draws the faces again when the keypad reconnects and when you change pages.
Binding pages
A keypad starts with one page of bindings. Use the Pages bar on the Keys tab to add pages, up to 15. Each page holds its own binding for each of the nine LCD keys. The paging buttons are not part of a page, so their bindings stay the same on every page.
When the keypad has more than one page, the left paging button starts bound to Previous Keypad Page and the right one to Next Keypad Page. Paging wraps: Next Keypad Page on the last page goes to page 1. You can also bind either action to an LCD key. With one page, the paging buttons keep their native function.
Removing a page deletes the bindings on that page in every app profile. OpenLogi asks before it removes one.
The agent remembers the current page while it runs. config.toml stores only
how many pages the keypad has.
Configure it
Device blocks are keyed by the physical device, as for every other device.
Configure the keypad once in the app, then copy its generated key from
config.toml. The key below is illustrative.
[devices."unit:3f9a21c0"]
keypad_pages = 2
[devices."unit:3f9a21c0".bindings]
gridTopLeft = "Copy"
gridTopMiddle = "Paste"
gridMiddle = { CustomShortcut = "Cmd+Shift+4" }
"page2:gridTopLeft" = "VolumeUp"
"page2:gridBottomLeft" = "VolumeDown"
KeyLeftPaging = "PreviousKeypadPage"
KeyRightPaging = "NextKeypadPage"A key on page 1 uses its plain name. A key on a later page adds a pageN:
prefix, so the key must be quoted. keypad_pages is the page count, from 1 to
15. It is left out of the file while the keypad has one page. Every action name
is listed in Configuration.