Skip to content

Releases: Gallinarius/AnalogtoKey

v0.45

Choose a tag to compare

@Gallinarius Gallinarius released this 09 Jun 18:27

v0.45

Added

  • Per-axis Key Hold — Hold duration (ms) is now configurable per axis instead of globally. Each axis has its own Hold field in the editor (default 50 ms).
  • Button modifier keys — add Ctrl / Shift / Alt to any button mapping via a dropdown next to each button slot. Modifier is pressed before the key and released after — e.g. Button 1 → Ctrl+A. Backward-compatible with existing profiles.

v0.4 - Stacked mode

Choose a tag to compare

@Gallinarius Gallinarius released this 08 Jun 21:35

What's new in v0.4

Added

  • Stacked mode for Steps Mode: keypresses are queued and sent sequentially. Prevents step desync when the stick moves faster than KeyHoldMs allows. Nothing is dropped, just delayed. Configurable inter-keypress pause. Enabled per axis via the Stacked mode checkbox.

v0.3.5 — Flight controller detection fix

Choose a tag to compare

@Gallinarius Gallinarius released this 04 Jun 07:51

What's new in v0.3.5

Fixed

Flight controller detection — devices that register as DeviceType.Flight in DirectInput were not detected by the device scan. This affects:

  • Honeycomb Bravo Throttle Quadrant
  • Saitek / Logitech X-55 Throttle
  • Other HOTAS throttles and flight controllers

These devices were visible in Windows joy.cpl but missing from AnalogtoKey's device dropdown. The scan now uses DeviceClass.GameControl which covers all game input devices — joysticks, gamepads, flight controllers, racing wheels, and more.

Floating windows always-on-top — Axis Monitor and Debug Window now stay on top of borderless fullscreen games that override WPF's built-in Topmost property.


No .NET installation required. Self-contained, runs on Windows 10 and 11 (64-bit).

v0.3.41 — Axis Monitor, 32 knapper, Transmit toggle m.m.

Choose a tag to compare

@Gallinarius Gallinarius released this 03 Jun 13:12

What is new since v0.3.4

Added

  • Floating Axis Monitor window — detachable axis monitor (≡ menu → Detach Axis Monitor). Always-on-top, draggable, remembers position and size. When open, axis bars move from the main window to the monitor.
  • Axis bars in main window — axis visualisation bars permanently placed in the bottom-right panel, scales with window width.
  • Axis visual feedback — axis key buttons blink green on every step boundary crossed (Steps mode), or stay solid green while held in zone (CP mode). Blinks even when muted.
  • Transmit ON/OFF toggle● LIVE / ● MUTED button in the toolbar. When muted, no keys are sent to the OS; keys that would have fired still appear in the Debug Window in red ([M]). Toggle is instant and releases all held keys on mute.
  • Device capability scan — on connect, AnalogtoKey queries DirectInput for which axes and buttons are physically present. UI shows only what the device actually has — no empty rows.
  • Slider axes (Slider0 / Slider1) — polled and displayed alongside standard axes. Verified working with Turtle Beach VelocityOne Yoke and Throttle Quadrant.
  • 32-button support with paging — button mapping covers buttons 1–32. Devices with more than 16 buttons show page tabs (1–16 / 17–32).
  • End-of-travel keypresses (MaxKey / MinKey) — optional keys that fire once as a pulse when the axis first reaches its maximum or minimum step. Order: Max key ▲ → Center ○ → Min key ▼.
  • Version label — build version shown in the bottom-right corner of the app window.
  • Open Debug Window in ≡ app menu — always-on-top, floats over borderless windowed games.

Fixed

  • ComboBox keyboard block — controller keystrokes no longer affect Profile or Controller dropdowns when they have focus.
  • Axis blink only fired once — blink logic now correctly triggers on every step change in both directions, including when moving upward from below center.
  • Window position not remembered — Windows no longer overrides saved Left/Top values.
  • CP highlight orange when unassigned — CP zone buttons now only light green when a key is actually assigned AND the zone is active.
  • Axis step keys light green — Throttle/Brake buttons now highlight green based on current axis zone position, not only on key-sent events.
  • Axis UI cleanup — mode checkboxes (Steps Mode / Center / Const. Pressure) always visible. Dead zone, CP keys, and End of travel section appear conditionally when relevant.

v0.3.4 — CP priority over steps

Choose a tag to compare

@Gallinarius Gallinarius released this 01 Jun 19:59

v0.3.4 — Constant Pressure priority over steps

When Constant Pressure and Steps Mode are both active on the same axis, CP now suppresses steps for any direction where a CP key is assigned. If the CP key for a direction is empty, steps fire as normal.

Example (SubwaySim throttle/brake on a single lever)

Direction CP key Steps key Behaviour
Up (throttle) A Holds A while stick is forward
Down (brake) (empty) D Fires D once per step as normal

Previously both modes would always run independently. Now CP takes priority per direction, enabling mixed setups on a single axis.

v0.3.3 — Cleaner UI, Rescan, Unsaved Changes Protection

Choose a tag to compare

@Gallinarius Gallinarius released this 01 Jun 19:17

AnalogtoKey v0.3.3 — Full changelog since v0.2 Beta

This release covers everything added since the initial v0.2 Beta release.


Three axis modes (new in v0.3)

Axes now support three independently toggleable modes — combine them freely:

Steps Mode (Standard)
Divides the axis travel into up to 99 steps. Each time the axis crosses a step boundary, the Up or Down key is pulsed. Perfect for throttle notches and brake steps in train simulators.

Center Mode
Splits the axis at its midpoint with a configurable dead zone (1–95%). Throttle (up) and brake (down) get independent step counts — e.g. 9 throttle steps + 9 brake steps = 19 distinct positions on a single lever.

Constant Pressure
Holds a key down continuously while the axis is past the dead zone, and releases it when the axis returns to neutral. Useful for horn, sanders, and any continuous-hold function.


Axis editor improvements (v0.3 / v0.3.1)

  • Bi-directional axis bar — Center mode bars show green (throttle), grey (neutral), red (brake)
  • Spinner fields on all numeric inputs (Steps, Dead zone %, Throttle steps, Brake steps) — click ▲▼ or type
  • Dead zone range extended to 1–95% (was silently capped at 49%)
  • Live raw axis valueraw:XXXXX shown next to step info for easy centre-point and dead-zone calibration

Profile management improvements

  • Rename profile — rename directly from the Edit menu without creating a copy
  • Unsaved changes protection — the Save Profile button shows when there are unsaved edits; switching or creating profiles prompts before discarding

Toolbar redesign (v0.3.3)

Six individual toolbar buttons have been replaced with two dropdown menus:

  • Edit ▾ (next to profile name): New profile / Copy profile / Rename profile / Delete profile
  • (top right): Scan for new devices / Minimize to tray on close / Read Documentation / Exit

Scan for new devices (v0.3.3)

Re-detects all connected controllers without restarting the app. Open ≡ → Scan for new devices after plugging in a throttle quadrant or stick while the app is already running.


Minimize to tray — configurable (v0.3.3)

The X button minimises to the system tray by default. Toggle ≡ → Minimize to tray on close to make X close the app directly instead. The setting is remembered between sessions.


HidHide reliability fix (v0.2.1)

If the HidHide Configuration Client is open when AnalogtoKey starts, it now shows a Retry / Cancel dialog instead of silently failing to hide controllers.


Full changelog: CHANGELOG.md

AnalogtoKey v0.2 Beta

Choose a tag to compare

@Gallinarius Gallinarius released this 30 May 08:54

AnalogtoKey v0.2 Beta

Map joystick and arcade stick input to keyboard keystrokes on Windows.

Features

  • Map buttons (1-16), D-pad (8 directions) and analog axes to any keyboard key
  • Stepped axes with MIN/MAX calibration (1-8 steps)
  • Multiple named profiles — switch instantly between games
  • HidHide integration — hides controllers from other apps (e.g. Running Train)
  • System tray support — runs silently in the background
  • PDF user guide included

Installation

  1. Download and run AnalogtoKey_Setup_v0.2_Beta.exe
  2. Optionally install the bundled HidHide driver (recommended for Running Train)
  3. Restart Windows if HidHide was installed

Requirements

  • Windows 10 or 11 (64-bit)
  • No .NET installation required (self-contained)