Chapter 02

基本設定

AWtnb
AWtnb
2021.12.30に更新

keyhac.exe と同階層の config.py の内容が適用されます。

まず、デフォルトで読み込まれる sysos に加えていくつかインポートしておきましょう。

config.py
import datetime
import os
import fnmatch
import re
import time
import urllib.parse

import pyauto
from keyhac import *

準備は揃ったので configure() を膨らませていきます。まずは基本設定。

config.py
def configure(keymap):

    ################################
    # 基本設定
    ################################

    # 相対パスを絶対パスに変換する
    def resolve_path(rel, root=None):
        if not root:
            root = os.environ.get("USERPROFILE")
        return os.path.join(root, rel)

    # 存在しないパスを None に変換する
    def to_local_path(s):
        if os.path.exists(s):
            return s
        return None

    # ファイラのパスを取得する
    def get_filer_path():
        tablacus_path = resolve_path(r"(ファイラへの相対パス)\TE64.exe")
        return to_local_path(tablacus_path) or "explorer.exe"

    # エディタ(VSCode)へのパスを取得する
    def get_editor_path():
        vscode_path = resolve_path(r"scoop\apps\vscode\current\Code.exe")
        return to_local_path(vscode_path) or "notepad.exe"
    keymap.editor = get_editor_path()

    # テーマ
    keymap.setFont("HackGen", 16)
    keymap.setTheme("black")

    # user modifier
    keymap.replaceKey("(29)", 235) # "無変換キー" => 235
    keymap.replaceKey("(28)", 236) # "変換キー" => 236
    keymap.defineModifier(235, "User0") # "無変換キー" => "U0"
    keymap.defineModifier(236, "User1") # "変換キー" => "U1"

    # クリップボード履歴の有効化
    keymap.clipboard_history.enableHook(True)

    # 履歴の最大サイズ
    keymap.clipboard_history.maxnum = 200
    keymap.clipboard_history.quota = 10*1024*1024

    # Ctrl を押して貼り付けるときの引用記号
    keymap.quote_mark = "> "

keyhac では存在しないパスを実行させようとすると固まってしまいタスクマネージャから再起動してやらなくてはいけないのが厄介です。対策として事前にパスの存在をチェックする関数を仕込んでおきます。

ファイラは Tablacus Explorer 、フォントは HackGen が好きです。


以降はすべてこの configure() 関数のなかを書いていきます。