Last active
December 21, 2024 09:46
-
-
Save tatesuke/1238faea005b07e00c27f3e9417339d8 to your computer and use it in GitHub Desktop.
keyhacの設定ファイル
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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