Closed4
skhd チートシート
初めは自分の使う部分からまとめていくことになると思うので、随時更新していきたいと思います。
KeySym キーワード
ソース : https://github.com/koekeishiya/skhd/issues/1
skhd --observe
か skhd -o
で確認可能
Modifiers (<mod>)
WindowsやLinuxからMacに切り替えた人は、ctrl
とcmd
が分かれていることに注意。
キーワード | 補足 |
---|---|
fn |
地球儀(🌐)キー |
cmd |
command (⌘)キー 二つある場合は両方のキーで反応する |
lcmd |
左command キー |
rcmd |
右command キー |
shift |
|
lshift |
|
rshift |
|
alt |
option (⌥)キー。 |
lalt |
|
ralt |
|
ctrl |
control (^)キー。 |
lctrl |
|
rctrl |
|
hyper |
cmd + shift + alt + ctrl の短縮系 これらを同時に押した状態と同義 |
meh |
shift + alt + ctrl の短縮系 これらを同時に押した状態と同義 |
キーリテラル
キーワード | 対応するキー |
---|---|
return |
kVK_Return |
tab |
kVK_Tab |
space |
kVK_Space |
backspace |
kVK_Delete |
escape |
kVK_Escape |
fnキーと同時に使うことの出来ないキー
キーワード | 対応するキー |
---|---|
delete |
kVK_ForwardDelete |
home |
kVK_Home |
end |
kVK_End |
pageup |
kVK_PageUp |
pagedown |
kVK_PageDown |
insert |
kVK_Help |
left |
kVK_LeftArrow |
right |
kVK_RightArrow |
up |
kVK_UpArrow |
down |
kVK_DownArrow |
f1 |
kVK_F1 |
f2 |
kVK_F2 |
f3 |
kVK_F3 |
f4 |
kVK_F4 |
f5 |
kVK_F5 |
f6 |
kVK_F6 |
f7 |
kVK_F7 |
f8 |
kVK_F8 |
f9 |
kVK_F9 |
f10 |
kVK_F10 |
f11 |
kVK_F11 |
f12 |
kVK_F12 |
f13 |
kVK_F13 |
f14 |
kVK_F14 |
f15 |
kVK_F15 |
f16 |
kVK_F16 |
f17 |
kVK_F17 |
f18 |
kVK_F18 |
f19 |
kVK_F19 |
f20 |
kVK_F20 |
キーワード | 対応するキー |
---|---|
sound_up |
NX_KEYTYPE_SOUND_UP |
sound_down |
NX_KEYTYPE_SOUND_DOWN |
mute |
NX_KEYTYPE_MUTE |
play |
NX_KEYTYPE_PLAY |
previous |
NX_KEYTYPE_PREVIOUS |
next |
NX_KEYTYPE_NEXT |
rewind |
NX_KEYTYPE_REWIND |
fast |
NX_KEYTYPE_FAST |
brightness_up |
NX_KEYTYPE_BRIGHTNESS_UP |
brightness_down |
NX_KEYTYPE_BRIGHTNESS_DOWN |
illumination_up |
NX_KEYTYPE_ILLUMINATION_UP |
illumination_down |
NX_KEYTYPE_ILLUMINATION_DOWN |
その他キー
キーワード | 対応するキー | 備考 |
---|---|---|
0x32 |
~ |
筆者環境のキーコード(M2;JIS)では0x18 でした |
キーコード
ドラフトですが、一旦上げておきます。
設定ファイル
デフォルトの設定ファイルは次のいずれかの場所にあり、数字の優先順に確認されます。
$XDG_CONFIG_HOME/skhd/skhdrc
$HOME/.config/skhd/skhdrc
$HOME/.skhdrc
異なる場所に設定ファイルを配置したい場合は、--config
か-c
のオプションを使用してください。
サンプルの設定ファイルはこちらにあります。
すべての組み込み修飾子とリテラル キーワードのリストは、こちらにあります。
ホットキーの記述
hotkey = <mode> '<' <action> | <action>
mode = 'モード名' | <mode> ',' <mode>
action = <keysym> '[' <proc_map_lst> ']' | <keysym> '->' '[' <proc_map_lst> ']'
<keysym> ':' <command> | <keysym> '->' ':' <command>
<keysym> ';' <mode> | <keysym> '->' ';' <mode>
keysym = <mod> '-' <key> | <key>
mod = 'modifier keyword' | <mod> '+' <mod>
key = <literal> | <keycode>
literal = '単一文字または組み込みキーワード'
keycode = 'apple keyboard kVK_<Key> values (0x3C)'
proc_map_lst = * <proc_map>
proc_map = <string> ':' <command> | <string> '~' |
'*' ':' <command> | '*' '~'
string = '"' '文字列' '"'
command = コマンドは「$SHELL -c」を通じて実行され、有効なシェル構文に従う。
$SHELL 環境変数が設定されていない場合は、デフォルトで「/bin/bash」になる。
bash を使用する場合、";"区切り文字を指定してコマンドを連鎖させることができる。
コマンドを複数行に渡って記述するには、末尾に"\"を追加します。
EOL はバインドの終了を示す。
-> = キープレスは skhd によって消費されない (訳註: よく意味がわかってないです)
* = <proc_map_lst> で指定されていないすべてのアプリケーションに一致する
~ = <proc_map> で指定されている場合、アプリケーションはバインドされておらず、
キー入力は通常どおり転送されます。
モードの設定
mode_decl = '::' <name> '@' ':' <command> | '::' <name> ':' <command> |
'::' <name> '@' | '::' <name>
name = このモードの名前
@ = アクションにバインドされているかどうかに関係なくキー入力をキャプチャする
command = コマンドは「$SHELL -c」を通じて実行され、有効なシェル構文に従う。
$SHELL 環境変数が設定されていない場合は、デフォルトで「/bin/bash」になる。
bash を使用する場合、";"区切り文字を指定してコマンドを連鎖させることができる。
コマンドを複数行に渡って記述するには、末尾に"\"を追加します。
EOL はバインドの終了を示す。
その他オプション
# 追加の設定ファイルとして含めるファイルを指定する。
# ファイル名が"/"で始まる場合は絶対パスとして扱われる。
# それ以外の場合、ファイルはロード元の設定ファイルのパスを基準とする。
.load "/Users/Koe/.config/partial_skhdrc"
.load "partial_skhdrc"
# 列挙されたプロセスのイベントを監視しないようにする。
.blacklist [
"terminal"
"qutebrowser"
"kitty"
"google chrome"
]
コマンドライン
ソース : https://github.com/koekeishiya/skhd#usage
skhd option [args]
で色々行える。
Options
-V | --verbose: デバッグ情報を出力
-P | --profile: プロファイル情報を出力
-v | --version: バージョン情報を標準出力
-c | --config: 設定ファイルの場所を指定
skhd -c ~/.skhdrc
-o | --observe: キーコードと修飾キーのイベントを表示。Ctrl+C で停止。(補足: 自身がプロセスを所有していなくても実行できます。)
-r | --reload: 起動中のskhdに設定の再読み込みを要求。(補足: 自身がプロセスを所有していなくても実行できます。)
-h | --no-hotload: 設定ファイルのホットリロードを停止
-k | --key: キー押下をエミュレート。(ホットキーを指定するのと同じ形式で記述)
skhd -k "shift + alt - 7"
-t | --text: 1行のテキストを合成。(補足: 利用シーンがよくわからない...)
skhd -t "hello, worldシ"
エラーが出た場合
skhd: could not lock pid-file! abort..
というエラーは、skhd
がすでに起動しており、自身がプロセスを確保できていないために出るそうです。
一度skhd
を停止し、手動で実行することでオプションを使うことができます。
ソース : https://github.com/koekeishiya/skhd/issues/243
独り言
どうやら、この辺のオプションは実行時に指定してエラーが出た時とか開発をする際のログを取るためにあるっぽい?
詳しいところはskhd
の開発をしていないのでわからないが、複数プロセスを起動できないように制限している実装があるみたいなので、おそらくあってるんじゃないかなと。
このスクラップは2024/02/16にクローズされました