Toshy v26.11.0
Releases from this project are meant only as records of major changes. There will be automatic attachments generated by GitHub, but to get the latest version download the zip from the green <> Code ▼ button on the main page, or use the quick-install one-liner command.
Changes
This release covers roughly early August through early November 2026. The headline items are a keymapper fix for keys getting "stuck" when the keymapper starts while a key is held down, a guard that keeps a broken when condition in the config from disrupting keyboard input, Touch Bar support for T1 MacBooks, and support for the newer Synergy and Deskflow log formats.
Note
Existing users with custom keymaps: If a notification appears after upgrading that says Config error: keymap '...' is disabled, one of the when conditions in your config refers to a name that doesn't exist. Before this release that kind of mistake could break keyboard input in confusing ways. Now the keymap is skipped, and toshy-services-log will show which one and why.
One name was retired from the default config in this release: hmp_not_vscode_or_remote. If you used it in a custom keymap, replace it with the two conditions the default config uses now:
not ctx_app_is_remote and
not hmp_is_vscode(ctx)New distro support
- Add
pikaosdistro ID (Debian-based). Community PR from @sicardnicolas - Setup script now supports 12 package manager types, 19 base Linux distro types, and knows 59 specific distro IDs.
New features and improvements
- Fix keys getting stuck when the keymapper grabs a keyboard while a key is held^ (xwaykeyz 1.27.0)
- Guard against broken
whenconditions in the config^^ (xwaykeyz 1.28.0). Toshy shows a desktop notification when a keymap or modmap has been disabled this way. - Support the Touch Bar on T1 MacBooks (2016-2017 models), alongside the existing T2 support (xwaykeyz 1.26.0)
- Add
toshy-touchbarcommand^^^ for showing or changing what the Touch Bar displays, on T1 and T2 MacBooks - Support the JSON Lines log file written by Synergy 3.9 and later, for the feature that pauses remapping while the pointer is on another computer. Started by a community PR from @josephlavin
- Recognize the "entering computer" and "leaving computer" log messages used by Deskflow 1.27.0 and later (the older "screen" wording still works). Community PR from @MugiSus
- Read native screenshot, app launcher and input source switching shortcuts on the COSMIC desktop from COSMIC's own settings files
- Finder Mods:
Cmd+Onow opens the selected file or folder in the supported file managers, the same asCmd+Down. It previously worked only in file managers that happen to bindCtrl+Oto "Open". - Add a list of apps that keep their native
Ctrl+Shift+[andCtrl+Shift+]shortcuts (object ordering in design apps, for example) instead of getting theShift+Cmd+Bracestab navigation remap. Community PR from @resistdesign - Split the
Shift+Cmd+Left/Righttab navigation remap into its own list of apps, so an app that edits text can use theCtrl+Tabstyle of tab navigation without losing "extend selection to beginning/end of line" - Recognize the Flatpak app class of Brave (
com.brave.Browser) and another app class for VSCode (com.microsoft.VSCode). Brave app classes now live in their own list. - Add the Limux terminal to the terminals list. Community PR from @omissis
- Recognize
Apple MTP keyboardandApple SPI Keyboardas Apple keyboard types (Apple Silicon MacBooks)
Fixes
- Fix swapped left/right workspace switching remaps on GNOME (#322). The Ubuntu version of those remaps now applies only when the desktop is GNOME.
- Make the "Wordwise" keymap respect app classes added to the
remoteslist in the editable part of the config (#639) - Updating the Toshy font no longer crashes terminals that are using the font while it is replaced. The new files are swapped into place, and running apps keep the old version until they are restarted.
- A native shortcut bound to an unusual key (one of the extra "Launch" keys on a ThinkPad, for example) no longer stops the config from loading. Key names read from the desktop environment are now translated through a table, and a key the keymapper doesn't know leaves that shortcut undetected.
- The keymapper now checks permissions on all input devices, not only the first one
- Log timestamps from Synergy, Deskflow, Input Leap and Barrier are read with their time zone when one is given, and a malformed timestamp can no longer stop the log monitor
Installer/setup tweaks
- Add the Wayland protocols package to the native package lists of most distro types, to prevent a build error while installing Python packages into the Toshy environment. The package names for ALT Linux are a best guess and untested.
- Keymapper dependencies now give minimum versions and no longer block newer releases of those packages
- Vendor sync xwaykeyz 1.26.0, 1.27.0, and 1.28.0
- Update the README note for international keyboard users to describe layout correction, and add a section on
toshy-touchbar
Wiki updates
- New article: Why Keyboards May Have Multiple Device Names, for when a keyboard type override stops working because the device name changed
- New FAQ entry: Remaps don't work over VNC, RDP or other remote access software, with a workaround using Sunshine and Moonlight
- Rewritten FAQ entry: International/Non-US keyboard layouts, now describing layout correction and how to get Mac-style layouts
^ If a key went down before the keymapper took over a keyboard and came up afterward, the desktop saw the press but never the release, and treated the key as held from then on. This could happen at login, after unlocking the screen, or whenever the Toshy services restarted while a key was down. The keymapper now waits for the keyboard to be idle before taking it over, checks again afterward, and if a key was held anyway it releases that key on the desktop side when the real release arrives.
^^ A when condition is ordinary Python code from the config file, and it can fail while a key is being processed, for example when it uses a name that was removed or misspelled. Before this change such a failure could drop keystrokes and leave a modifier key acting stuck. Now the failing condition counts as "no match", the keymap or modmap it belongs to is named in the log with the full error, and names that don't exist are reported as soon as the config loads, before any key is pressed.
^^^ The keymapper takes over the job of switching the Touch Bar between media keys and function keys while Fn is held. toshy-touchbar shows the current mode, changes it, and can put the original mode back if the keymapper was stopped in the middle of an Fn key hold (toshy-touchbar --reset). It does nothing on machines without a supported Touch Bar driver. T1 models need the out-of-tree apple-touchbar driver.
Auto-generated full release notes (click to expand):
What's Changed
- Add shortcut detectors for COSMIC by @RedBearAK in #895
- Update font with atomic folder swap (prevent terminal crash) by @RedBearAK in #896
- Update note for international keyboard users by @RedBearAK in #897
- Translate detected shortcut key names correctly by @RedBearAK in #899
- feat: add pikaos to debian based distro by @sicardnicolas in #903
- Add Limux to terminals list by @omissis in #907
- Support deskflow computer logs by @MugiSus in #908
- T1/T2 device quirks, key-down grab fix, device perms by @RedBearAK in #910
- Preserve native bracket shortcuts with a shared app-class override by @resistdesign in #912
- Config ver bump, FigCraft tab nav fix by @RedBearAK in #913
- Synergy 3.9+ JSONL log support with UTC-aware timestamps (supersedes #914) by @RedBearAK in #915
- New Synergy 3.9+ JSONL log file support by @RedBearAK in #916
- Support Synergy 3.9+ logs by @josephlavin in #914
- Fix keymapper deps, fix venv build errors by @RedBearAK in #918
- Add Apple keyboard type device names by @RedBearAK in #919
- New conditional guard in keymapper by @RedBearAK in #920
- New app class "com.brave.Browser", separate Brave list by @RedBearAK in #921
- Fix swapped workspace left/right remaps on GNOME by @RedBearAK in #922
- Wordwise keymap: honor remotes added in the user slice by @RedBearAK in #923
- Finder Mods: Cmd+O opens selection, same as Cmd+Down by @RedBearAK in #924
New Contributors
- @sicardnicolas made their first contribution in #903
- @omissis made their first contribution in #907
- @MugiSus made their first contribution in #908
- @resistdesign made their first contribution in #912
- @josephlavin made their first contribution in #914
Full Changelog: Toshy_v26.08.0...Toshy_v26.11.0