Skip to content

Instantly share code, notes, and snippets.

@tatesuke
Last active December 21, 2024 09:46
Show Gist options
  • Save tatesuke/1238faea005b07e00c27f3e9417339d8 to your computer and use it in GitHub Desktop.
Save tatesuke/1238faea005b07e00c27f3e9417339d8 to your computer and use it in GitHub Desktop.
keyhacの設定ファイル
from datetime import date
import time
from keyhac import *
# import pyauto
def configure(keymap):
configure_global(keymap)
def configure_global(keymap):
# クリップボード履歴を無効化
keymap.clipboard_history.enable = False
# 変換/無変換キーでIME ON/OFF
keymap_global = keymap.defineWindowKeymap()
keymap_global["O-(29)"] = lambda: keymap.wnd.setImeStatus(False)
keymap_global["O-(28)"] = lambda: keymap.wnd.setImeStatus(True)
# 無変換キーをユーザーモディファイヤキーに割り当て。
keymap.defineModifier( 29, "User0" )
# 無変換キー + HJKL で 矢印キー
keymap_global["U0-H"] = "Left"
keymap_global["U0-J"] = "Down"
keymap_global["U0-K"] = "Up"
keymap_global["U0-L"] = "Right"
keymap_global["U0-LShift-H"] = "Shift-Left"
keymap_global["U0-LShift-J"] = "Shift-Down"
keymap_global["U0-LShift-K"] = "Shift-Up"
keymap_global["U0-LShift-L"] = "Shift-Right"
# 無変換キー + (0 or 4)でHOME, END
keymap_global["U0-0"] = "Home"
keymap_global["U0-LShift-0"] = "Shift-Home"
keymap_global["U0-4"] = "End"
keymap_global["U0-LShift-4"] = "Shift-End"
# 無変換キー + ** でCtrl + **
keymap_global["U0-A"] = "Ctrl-A"
keymap_global["U0-C"] = "Ctrl-C"
keymap_global["U0-D"] = "Ctrl-D"
keymap_global["U0-F"] = "Ctrl-F"
keymap_global["U0-S"] = "Ctrl-S"
keymap_global["U0-V"] = "Ctrl-V"
keymap_global["U0-X"] = "Ctrl-X"
keymap_global["U0-Z"] = "Ctrl-Z"
keymap_global["U0-Slash"] = "Ctrl-Slash"
# Insertで日付挿入
keymap_global["Insert"] = lambda: None #本来の挙動を無効化
def insert_date():
# 現在のIME状態を取得
ime_status = keymap.wnd.getImeStatus()
# IMEをOFFにする
keymap.wnd.setImeStatus(False)
# 日付を挿入
keymap.InputTextCommand(date.today().strftime("%Y-%m%d"))()
# 元のIME状態に戻す
time.sleep(0.1) # すぐに戻すとキー入力中にIMEがONになり挙動がおかしくなるので少し待機
keymap.wnd.setImeStatus(ime_status)
keymap_global["O-Insert"] = insert_date
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment