Macropad (Megadolon Triple Knob) not working properly on Fedora 38

Hi all,

I’m new to Linux, currently planning and testing a full switch from Windows 10, apart from games. Preferably a distro with gnome desktop and flatpak as default. Also, immutability is a great thing to start with, which is why I started with Fedora 38 Silverblue.

My problem

My Macropad does not work correctly under Fedora 38 Silverblue, nor under Linux in general.
Hardware: Keychron K8 pro & Megalodon Triple Knob Macropad

Unfortunately, I have become very accustomed to the pad. I use the numeric keypad regularly, but most of all I need the shortcuts and macros I have configured on the second layer of the pad all the time when I work in Obsidian.

Anyway, I found it useful to provide some background information first, following are the actual relevant facts.

Detailed error description

The knobs and a few buttons work as assigned with VIA, but most buttons show strange behaviour. For example, 8,4,6 and 2 act as arrow keys under Linux. Switching through the layouts is detected correctly (→ other functions for the knobs in other layouts are registered, but the problem with the keys remains…).

Analysis

From my error description, I conclude that Linux recognizes all keys/knobs of the pad and also reads the VIA/QMK configuration correctly. However, in the system settings under Show Keyboard Layout, I noticed that Linux seems to interpret the Macropad as part of the keyboard and not as an independent peripheral device. More precisely, as a number pad with the Numlock function switched off, which explains the strange behaviour. Unfortunately, I can’t just turn on numlock, as there is no numlock on the K8.

Trying to solve the problem.

  • Different layouts in the settings to possibly find one that fits my situation to some extent. With some unusual layouts, like DE Neo 2, the numlock actually works as intended, but this is not a solution, as such exotic layouts mess up everything else.
  • Different distros with different base and desktop variant to find out if it has something to do with Gnome desktop or Ubuntu/Debian as base: It does not.
  • Tried Numlockx without much hope. As expected, the tool shows no effect regardless of the setting.
  • Same via UEFI (→ my BIOS has a Numlock on/off lever at startup), does nothing.
  • Searched for custom layouts to download. They are Scarce, respectively all are already integrated in the distros.
  • Tried to find the problem in forums and search engines. Despite the not uncommon use of keyboard plus separate pad with integrated VIA/QMK interfaces, I couldn’t find anything so far.
  • I have tried various USB connections, both on my PC itself and the monitor. The problem persists regardless of the port used.

Does anyone have an idea how to solve the problem? Is there a way to get Linux to recognize the pad as an independent peripheral? As far as I understand it myself, this would basically solve my problem.

Note

If it’s not too much to ask, I’d be very grateful for any suggestions on solutions adding links or the required Debian commands for the terminal.

Frankly, yes, there are plenty of information sources on the net and there is usually attention paid to accessibility and structure in tutorials and documentation. Unfortunately, it is still a jungle for a newcomer:(.

EDIT 20.05.23: Translated with DeepL from DE to EN to increase grammar, readability.

I solved the problem:

  1. Unplug your Keyboard (I was in Win10, but I don’t think that it matters…)
  2. Connect a keyboard, that is full size, so it has a numlock function (I used a Logitech G413).
  3. Boot up fedora, or another Linux distro (the error appeared in all distros I tested, which were basically all bigger and a few smaller ones…).
  4. turn on numlock.

Numpad on the Keyboard and numkeys programmed on the Macropad should now both work properly. It is also possible to switch through the layers without errors. The problem is not the Macropad itself, but a conflict if you assign numkeys to it while not having a keyboard with numlock.

  1. Unplug the keyboard (with numlock left on!), Macropad should still work properly.
  2. Replug your usual Keyboard, numpad on the Macropad should still work.
  3. Reboot. Macropad should still work as intended.

I didn’t bother looking for changes made by connecting the G413, but the way the solution worked, I assume it should be solvable by editing a config file directly or via terminal.

Another solution could be to assign regular numbers (via QMK, VIA or VIAL) from the main typewriter keys instead of the numpad.

Either way, I’m happy, that I can now start my migration from Win10:).