Open source · For the community

Open-sourcemagnetic keyboardfirmware.

Meet MKF — Magnetic Keyboard Firmware. Open-source firmware for competitive magnetic-switch keyboards, with performance at its core and an open invitation to the community.

MKF magnetic keyboard conceptAn illustrative magnetic keyboard with highlighted W, A, S, and D keys. This is a concept diagram, not a specific product or a performance measurement. UP TO 8K POLLING MKF MAGNETIC INPUT DESIGNED FOR PLAY
W A S D Try your keys · Concept illustration
MKFMAGNETIC KEYBOARD FIRMWARE
MAGNETIC SWITCHESUP TO 8K POLLINGOPEN SOURCE

The firmware, re-focused

Magnetic by design. Competitive by nature.

An open firmware foundation for magnetic gaming keyboards, with room for the project and its community to grow.

Made for magnetic switches

Tune actuation distance and Rapid Trigger sensitivity to shape how magnetic key travel becomes input.

Up to 8K polling

Up to 8,000 Hz USB polling, with a nominal 125 μs polling interval at 8K.

Competition comes first

Built with competitive performance in mind. Configure multi-stage commands, opposing-key behavior and analog gamepad input around the way you play.

Room to evolve

An open direction for different keyboard designs. Future directions may include other polling rates, such as 1K, and wireless connectivity as the project evolves.

Open source under GPL-3.0

MKF firmware uses the GPL-3.0 license. Explore the source, share ideas, and contribute improvements under the project’s license terms.

Open to the community

A place for keyboard developers, enthusiasts, and players to exchange ideas, contribute, and help shape what comes next.

Make every part of a key press count.

Tune triggering, combine commands and explore analog input. Discover the magnetic keyboard features supported by MKF.

Set the trigger. Tune the response.

Choose how far a key travels before it registers, and adjust Rapid Trigger sensitivity for repeated inputs as the key moves.

  • Actuation Distance — set the travel point that registers a key press.
  • Rapid Trigger — enable rapid triggering and adjust its sensitivity, with Basic and Advanced settings.
  • Trigger Demo and Test Keys let you inspect key behavior and input values.
Actuation distance and Rapid Trigger A key-travel threshold illustrates adjustable actuation. A separate conceptual motion trace marks pressing and releasing for Rapid Trigger, without numerical distance claims. Choose the actuation point Set when a press registers Released Pressed Trigger An adjustable trigger point Rapid Trigger Trigger and reset follow key movement Press Release Time Movement, not a fixed reset point From key travel to input
Original MKF feature illustrationSwipe to explore the full illustration

More commands in one key’s travel.

Assign different commands to four stages of a key’s press and release. Build a sequence around the way you press and release a single key.

  • Four stages: Starting Trigger, Bottom In, Bottom Out and BounceBack.
  • Choose the commands and configure the trigger points in the settings interface.
One key. Four command stages. An original schematic of a key moving down and back up. Starting Trigger, Bottom In, Bottom Out and BounceBack each lead to a separate command. One key. Four command stages.Assign commands across the press and release. PressRelease KeyStarting TriggerCommand A KeyBottom InCommand B KeyBottom OutCommand C KeyBounceBackCommand D
Original MKF feature illustrationSwipe to explore the full illustration

Quick successive triggers from one press.

Use Long-Press Switch to trigger the selected key in quick succession with one press.

  • Choose the key and enable the function from its settings panel.
  • Manage the configured keys in the Keys Set list.
One press. A quick sequence. An original schematic of one key press leading to successive outputs of the same key. The illustration does not imply a toggle or locking mode. One press. A quick sequence.A single action leads to successive key inputs. One pressQuick successive triggers KeySingle action Key Key Key Key KeyRepeated key input
Original MKF feature illustrationSwipe to explore the full illustration

Choose how opposing inputs are resolved.

Set the behavior of paired opposing keys with Rappy Snappy, Last Key Priority, Absolute Priority or Neutral.

  • When both keys are pressed, Rappy Snappy compares their travel: the deeper key triggers while the other resets.
  • Select a mode and manage the paired keys in the bound-command list.
SOCD paired-key input handling Two keys are pressed to different depths. In the illustrated Rappy Snappy mode, the deeper D key takes priority. Four supported SOCD mode names are listed without assigning behavior to the other modes. When both keys are pressed A D Shallower press Deeper press Active key SOCD modes Rappy Snappy Deeper key takes priority Last Key Priority Absolute Priority Neutral Select a mode for paired keys Rappy Snappy illustrated
Original MKF feature illustrationSwipe to explore the full illustration

Bring analog gamepad input to your keys.

Map keyboard keys to sticks, triggers and gamepad buttons, with an effect preview to check the resulting input.

  • Choose the Standard Controller or Xbox Controller option.
  • Control whether keyboard typing and controller recognition are enabled.
  • Reconnect the keyboard after changing controller recognition settings for the changes to take effect.
Keyboard-to-gamepad analog mapping An original key cluster points to a stick, trigger, and controller-button symbols. Standard Controller and Xbox Controller options are named, along with separate typing and controller-recognition settings; no hardware compatibility is implied. Keys become controller inputs W A S D Keyboard Stick Trigger Buttons Controller modes Standard Controller Xbox Controller Typing and controller recognition can be enabled separately
Original MKF feature illustrationSwipe to explore the full illustration

Shape how travel becomes analog input.

Choose a response curve to change how key travel translates into analog output.

  • Linear and Smooth profiles provide two response options.
  • The curve display shows the relationship between travel and output.
Linear and Smooth analog response profiles A normalized conceptual graph relates key travel to analog output. A straight Linear trace and a curved Smooth trace illustrate different response shapes, with no numerical calibration or exact transfer formula. Shape the analog response Two response profiles Analog output Key travel Linear Smooth Response profiles Travel to output Choose how travel becomes output
Original MKF feature illustrationSwipe to explore the full illustration

Press deeper for more triggers.

PDO increases the number of triggers as you press the selected key deeper.

  • Configure the maximum trigger count for the selected key.
  • Manage enabled keys in the Keys Set list.
Deeper travel. More triggers. An original relative comparison of a shallow and a deeper press. The deeper press is paired with a larger abstract group of trigger dots; no numerical trigger count or travel range is specified. Deeper travel. More triggers.Key depth changes the trigger count. Shallower pressDeeper press KeyKey travelTrigger count KeyKey travelTrigger count
Original MKF feature illustrationSwipe to explore the full illustration

Repeat inputs at your chosen pace.

Produce continuous repeated input when pressing a selected key, and adjust the repeat settings.

  • Tune the repeat behavior with the Key Press Speed control.
  • Choose the keys that use Turbocharged and manage them in the settings list.
One key. Repeating input. An original schematic of a key press leading to repeated input pulses, with adjustable repeat pace. One key. Repeating input.Adjust the repeat setting to shape the sequence. Press the keyContinuous repeat KeyKey input Repeated inputAdjust repeat pace
Original MKF feature illustrationSwipe to explore the full illustration

Select a feature to explore how it works.

8K, explained

Up to 8K polling.
Room for what comes next.

At 8K, USB polling runs at a nominal 8,000 Hz — one polling opportunity every 125 microseconds. A performance highlight within a broader open-source firmware project.

8,000Hz
USB polling rate at 8K
125μs
Nominal interval at 8K
1K
8K

Polling cadence illustration · Not a latency benchmark

8 kHz denotes a nominal 125 μs USB polling interval, not end-to-end input latency or keyboard scan rate. Actual performance and available rates depend on hardware, firmware, host, and configuration. 8K is a performance highlight; it does not define the project’s future polling rates or connection options.

An open project

Good firmware starts in the open.

The home for MKF’s source code and documentation. Official project links will be added once confirmed.

Source repository

The official MKF codebase and project history.

Link pending
Documentation

Project setup, supported boards, and contribution details.

Link pending
Project license

MKF firmware is licensed under GNU GPL version 3 (GPL-3.0).

GPL-3.0 ↗

Supported keyboards, feature availability, and release status are subject to the official project documentation. No compatibility list is implied by this page.

An open invitation

Help shape what comes next.

Share ideas, explore the code, and take part in MKF. Project release and community links will be added here once confirmed.

Explore the project