目次
スクリプト言語 Python を使って、キーボード操作を カスタマイズするアプリケーションです。
https://crftwr.github.io/keyhac/doc/ja/
import sys
import os
import datetime
import pyauto
from keyhac import *
def configure(keymap):
# Global keymap which affects any windows
if 1:
keymap_global = keymap.defineWindowKeymap()
# 左Altキーを空打ちするとime_off
keymap_global["O-LAlt"] = lambda: switch_ime(False)
# 右Altキーを空打ちするとime_on
keymap_global["O-RAlt"] = lambda: switch_ime(True)
## IMEを切り替える
# @param flag 切り替えフラグ(True:IME ON / False:IME OFF)
def switch_ime(flag):
# if not flag:
if flag:
ime_status = 1
else:
ime_status = 0
# IMEのON/OFFをセット
keymap.wnd.setImeStatus(ime_status)
# MacのリモートデスクトップからWindowsPCを操作する場合
# AltとWinキーを逆にする
#keymap.replaceKey( "LAlt", "LWin" )
#keymap.replaceKey( "LWin", "LAlt" )
#keymap.replaceKey( "RAlt", "RWin" )
#keymap.replaceKey( "RWin", "RAlt" )
# Altがメニューに反応してしまう対策
# ALT押したあとにCtrlのDownUpが入ればメニュー移動しない。
keymap_global[ "D-LALT" ] = "D-LALT", "LCTRL"
keymap_global[ "D-RALT" ] = "D-RALT", "LCTRL"
keymap_global[ "Alt-h" ] = "Left" keymap_global[ "Alt-j" ] = "Down" keymap_global[ "Alt-k" ] = "Up" keymap_global[ "Alt-l" ] = "Right"
注意:Teratermを使っている人は、この設定を使うとうまくコピペできなくなります。
Teratermは、「Alt-C」「Alt-V」を使います。
#Mac風
keymap_global["Alt-S"] = "Ctrl-S"
keymap_global["Alt-C"] = "Ctrl-C"
keymap_global["Alt-X"] = "Ctrl-X"
keymap_global["Alt-V"] = "Ctrl-V"
keymap_global["Alt-W"] = "Ctrl-W"
keymap_global["Ctrl-A"] = "Home"
keymap_global["Ctrl-E"] = "End"
keymap_global["Ctrl-Shift-A"] = "Shift-Home"
keymap_global["Ctrl-Shift-E"] = "Shift-End"
def is_target(window):
if window.getProcessName() in ("chrome.exe", # Chrome
"firefox.exe", # Firefox
"WindowsTerminal.exe," # Windows Terminal
"cmd.exe", # cmd
"mintty.exe", # mintty
"gvim.exe", # GVim
"VirtualBox.exe", # VirtualBox
"putty.exe", # PuTTY
"ttermpro.exe", # TeraTerm
"vncviewer.exe"): # UltraVNC
return False
return True
# --------------------------------------------------------------------
# Text editer setting for editting config.py file
# キーバインド変更するためのエディタ。標準ではnotepad.exeだがここでは好きなエディタを指定
# Setting with program file path (Simple usage)
if 1:
keymap.editor = "C:\\Program Files (x86)\\sakura\\sakura.exe"
keymap_global["Esc"] = lambda: keymap.getWindow().setImeStatus(0)
# 【個別ソフト】「Chrome」の設定
if 1:
keymap_chrome = keymap.defineWindowKeymap( exe_name="chrome.exe" )
keymap_chrome[ "Ctrl-H" ] = "Back" #Backspace
keyhac.exeが存在しているディレクトリに生成されているkeyhac.iniの[console]セクションに記述されているvisible=1をvisible=0に設定する
キーボードイベント全部持っていかれてしまい、想定通りに動かないので、利用しない方がいいです。
最近のmacOSでは、署名のないソフトウェアがみだりに起動できないようになっています。
初回起動時は、アプリのアイコンを右クリック(Ctrl+クリック)してコンテキストメニューを表示。
そこから「開く」で起動します。
「英数」キーは102 「かな」キーは104です
import os
import datetime
import subprocess
from keyhac import *
def configure(keymap):
keymap_global = keymap.defineWindowKeymap()
# 右Altキーを空打ちするとime_off
keymap_global["O-LCmd"] = "102"
# 左Altキーを空打ちするとime_on
keymap_global["O-RCmd"] = "104"
keymap_global["D-Home"] = "Cmd-Left"
keymap_global["D-End"] = "Cmd-Right"
keymap_global["D-Shift-Home"] = "Shift-Cmd-Left"
keymap_global["D-Shift-End"] = "Shift-Cmd-Right"
keymap_iterm2 = keymap.defineWindowKeymap( app_name="com.googlecode.iterm2" )
def escWithIMEOff():
esc = keymap.InputKeyCommand("Esc")
esc()
ime_off = keymap.InputKeyCommand("(102)")
ime_off()
keymap_iterm2["Esc"] = escWithIMEOff
一般向けサイト
ITエンジニア向けサイト
英語サイト
Portfolio
Copyright (c) 2025 インフラエンジニアのPC環境 All Rights Reserved.