Keyhac 2 is available. This page documents Keyhac 1.
Keyhac 2 is the successor to both Keyhac for Windows and Keyhac for macOS, rebuilt as one shared codebase. A single config.py now runs unchanged on both operating systems.
Keyhac 1 is no longer actively maintained. It still works, and this page is kept as its reference — but new features and fixes go to Keyhac 2.
Migrating? The configuration API was renamed. The migration guide has a translation table for existing config.py files.
(Old version for 32bit architecture is available here)
This software is an application to customize your keyboard operations using Python script language.
Using this software, you can customize the behavior of various applications flexibly.
Customize the keyboard input.
Describe the configuration file in Python script language.
Can replace key input with different key input.
Can execute any actions described in Python, on key input.
Can define different keymaps for each application.
Resident in tasktray.
Can move windows by keyboard.
Can activate windows by keyboard.
Can operate mouse pointer by keyboard. (Mac version doesn't support yet)
Can launch applications.
Can define modifier keys additionally.
Can define "One shot modifier"
Has clipboard history feature.
Can record and replay keyboard macros
Windows 10/11 64bit
Mac OS 15.0 or higher
Tasktray icon
Console window for internal behavior monitoring
Clipboard history list
Configuration file (written in Python script)