-
Notifications
You must be signed in to change notification settings - Fork 49
/
Copy path_config_parameter.py
723 lines (586 loc) · 41.7 KB
/
_config_parameter.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
# -*- mode: python; coding: utf-8-with-signature-dos -*-
# 本ファイルは、fakeymacs で設定可能な全てのコンフィグレーションパラメータをまとめたファイルです。
# config_personal.py を作成する際の参考としてください。config_personal.py に名称変更して個人設定
# ファイルとして利用することもできます。
####################################################################################################
## 初期設定
####################################################################################################
# [section-init] -----------------------------------------------------------------------------------
print(startupString())
keymap.editor = r"notepad.exe"
keymap.setFont("MS ゴシック", 12)
####################################################################################################
## 機能オプションの選択
####################################################################################################
# [section-options] --------------------------------------------------------------------------------
# IMEの設定(次の設定のいずれかを有効にする)
# fc.ime = "old_Microsoft_IME"
fc.ime = "new_Microsoft_IME"
# fc.ime = "Google_IME"
# fc.ime = None
# 日本語キーボード設定をした OS 上で英語キーボードを利用するかどうかを指定する
# (True: 使う、False: 使わない)
# (False に設定した場合でも、OS の設定が日本語キーボードになっていれば、ランチャーメニュー
# の一番最後に表示されるメニューからキーボード種別を切り替えることができます)
fc.use_usjis_keyboard_conversion = False
# IME の状態をテキスト カーソル インジケーターの色で表現するかどうかを指定する
# (True: 表現する、False: 表現しない)
# (テキスト カーソル インジケーターを利用するには、次のページを参考とし設定を行ってください
# https://faq.nec-lavie.jp/qasearch/1007/app/servlet/relatedqa?QID=022081)
fc.use_ime_status_cursor_color = False
# IME が ON のときのテキスト カーソル インジケーターの色を指定する
fc.ime_on_cursor_color = 0x00C800 # 濃い緑
# IME が OFF のときのテキスト カーソル インジケーターの色を指定する
fc.ime_off_cursor_color = 0x0000FF # 赤
# Chromium 系ブラウザで発生する問題の対策を行うかどうかを指定する(True: 対策する、False: 対策しない)
# (Chromium 系ブラウザのバージョン 92 では、アドレスバーにカーソルを移動した際、強制的に ASCII入力
# モードに移行する不具合が発生します。(バージョン 93 で対策済みですが、過去にも度々発生しています。)
# ・https://did2memo.net/2021/07/22/chrome-japanese-ime-off-issue-chrome-92/
# さらに Google 日本語入力を利用している場合、keymap.getWindow().getImeStatus() が True を返すため、
# Emacs 日本語入力モードの挙動がおかしくなります。この対策を行うかどうかを指定します。)
fc.correct_ime_status = False
# 上記の対策を行う Chromium 系ブラウザのプログラム名称を指定する
fc.chromium_browser_list = ["chrome.exe",
"msedge.exe",
]
####################################################################################################
## 基本設定
####################################################################################################
# [section-base-1] ---------------------------------------------------------------------------------
# すべてのキーマップを透過するアプリケーションソフトのプロセス名称(ワイルドカード指定可)を指定する
# (全ての設定に優先します)
# (keymap_base、keymap_global を含むすべてのキーマップをスルーします)
fc.transparent_target = []
# すべてのキーマップを透過するウィンドウのクラス名称(ワイルドカード指定可)を指定する
# (全ての設定に優先します)
# (keymap_base、keymap_global を含むすべてのキーマップをスルーします)
fc.transparent_target_class = ["IHWindowClass"] # Remote Desktop
# Emacs のキーバインドにするウィンドウのクラス名称(ワイルドカード指定可)を指定する
# (fc.not_emacs_target の設定より優先します)
fc.emacs_target_class = ["Edit", # テキスト入力フィールドなどが該当
"Button", # ボタン
"ComboBox", # コンボボックス
"ListBox", # リストボックス
]
# Emacs のキーバインドに“したくない”アプリケーションソフトを指定する
# (アプリケーションソフトは、プロセス名称のみ(ワイルドカード指定可)、もしくは、プロセス名称、
# クラス名称、ウィンドウタイトルのリスト(ワイルドカード指定可、リストの後ろの項目から省略可)
# を指定してください)
# (Keyhac のメニューから「内部ログ」を ON にすると、processname や classname を確認することが
# できます)
fc.not_emacs_target = ["wsl.exe", # WSL
"bash.exe", # WSL
"ubuntu*.exe", # WSL
"debian.exe", # WSL
"kali.exe", # WSL
"SLES-*.exe", # WSL
"openSUSE-*.exe", # WSL
"WindowsTerminal.exe", # Windows Terminal
"mintty.exe", # mintty
"Cmder.exe", # Cmder
"ConEmu*.exe", # ConEmu
"emacs*.exe", # Emacs
"gvim.exe", # GVim
"xyzzy.exe", # xyzzy
"msrdc.exe", # WSLg
"XWin*.exe", # XWin
"Xming.exe", # Xming
"vcxsrv.exe", # VcXsrv
"GWSL_vcxsrv*.exe", # GWSL
"X410.exe", # X410
"Xpra-Launcher.exe", # Xpra
"putty.exe", # PuTTY
"ttermpro.exe", # TeraTerm
"MobaXterm.exe", # MobaXterm
"TurboVNC.exe", # TurboVNC
"vncviewer*.exe", # UltraVNC
[None, None, "さくらのクラウドシェル (リモート)"],
]
# IME の切り替え“のみをしたい”アプリケーションソフトを指定する
# (アプリケーションソフトは、プロセス名称のみ(ワイルドカード指定可)、もしくは、プロセス名称、
# クラス名称、ウィンドウタイトルのリスト(ワイルドカード指定可、リストの後ろの項目から省略可)
# を指定してください)
# (指定できるアプリケーションソフトは、not_emacs_target で(除外)指定したものからのみとなります)
fc.ime_target = ["wsl.exe", # WSL
"bash.exe", # WSL
"ubuntu*.exe", # WSL
"debian.exe", # WSL
"kali.exe", # WSL
"SLES-*.exe", # WSL
"openSUSE-*.exe", # WSL
"WindowsTerminal.exe", # Windows Terminal
"mintty.exe", # mintty
"Cmder.exe", # Cmder
"ConEmu*.exe", # ConEmu
"gvim.exe", # GVim
"xyzzy.exe", # xyzzy
"putty.exe", # PuTTY
"ttermpro.exe", # TeraTerm
"MobaXterm.exe", # MobaXterm
[None, None, "さくらのクラウドシェル (リモート)"],
]
# キーマップ毎にキー設定をスキップするキーを指定する
# (リストに指定するキーは、define_key の第二引数に指定する記法のキーとしてください。"A-v" や "C-v"
# のような指定の他に、"M-f" や "Ctl-x d" などの指定も可能です。"M-g*" のようにワイルドカードも
# 利用することができます。ワイルドカード文字をエスケープしたい場合は、[] で括ってください。)
# (ここで指定したキーに新たに別のキー設定をしたいときには、「-2」が付くセクション内で define_key2
# 関数を利用して定義してください)
fc.skip_settings_key = {"keymap_base" : ["W-g", "A-Tab"], # ベース Keymap
"keymap_global" : [], # グローバル Keymap
"keymap_emacs" : [], # Emacs キーバインド対象アプリ用 Keymap
"keymap_vscode" : [], # Emacs キーバインド VSCode 拡張用 Keymap
"keymap_ime" : [], # IME 切り替え専用アプリ用 Keymap
"keymap_ei" : [], # Emacs 日本語入力モード用 Keymap
"keymap_tsw" : [], # タスク切り替え画面用 Keymap
"keymap_lw" : [], # リストウィンドウ用 Keymap
}
# Emacs のキーバインドにするアプリケーションソフトで、Emacs キーバインドから除外するキーを指定する
# (リストに指定するキーは、Keyhac で指定可能なマルチストロークではないキーとしてください。
# Fakeymacs の記法の "M-f" や "Ctl-x d" などの指定はできません。"A-v"、"C-v" などが指定可能です。)
# (ここで指定しなくとも、左右のモディファイアキーを使い分けることで入力することは可能です)
fc.emacs_exclusion_key = {"chrome.exe" : ["C-l", "C-t"],
"msedge.exe" : ["C-l", "C-t"],
"firefox.exe" : ["C-l", "C-t"],
"Code.exe" : ["C-S-b", "C-S-f", "C-S-p", "C-S-n", "C-S-a", "C-S-e"],
}
# clipboard 監視の対象外とするアプリケーションソフトのプロセス名称(ワイルドカード指定可)を指定する
fc.not_clipboard_target = []
fc.not_clipboard_target += ["EXCEL.EXE"] # Microsoft Excel
# clipboard 監視の対象外とするウィンドウのクラス名称(ワイルドカード指定可)を指定する
fc.not_clipboard_target_class = []
fc.not_clipboard_target_class += ["HwndWrapper*"] # WPF アプリ
# 左右どちらの Ctrl キーを使うかを指定する("L": 左、"R": 右)
fc.side_of_ctrl_key = "L"
# 左右どちらの Alt キーを使うかを指定する("L": 左、"R": 右)
fc.side_of_alt_key = "L"
# 左右どちらの Win キーを使うかを指定する("L": 左、"R": 右)
fc.side_of_win_key = "L"
# C-i キーを Tab キーとして使うかどうかを指定する(True: 使う、False: 使わない)
fc.use_ctrl_i_as_tab = True
# Esc キーを Meta キーとして使うかどうかを指定する(True: 使う、False: 使わない)
# (True(Meta キーとして使う)に設定されている場合、ESC の二回押下で ESC が入力されます)
fc.use_esc_as_meta = False
# C-[ キーを Meta キーとして使うかどうかを指定する(True: 使う、False: 使わない)
# (True(Meta キーとして使う)に設定されている場合、C-[ の二回押下で ESC が入力されます)
fc.use_ctrl_openbracket_as_meta = True
# Ctl-x プレフィックスキーに使うキーを指定する
# (Ctl-x プレフィックスキーのモディファイアキーは、Ctrl または Alt のいずれかから指定してください)
fc.ctl_x_prefix_key = "C-x"
# fc.ctl_x_prefix_key = "A-x"
# スクロールに使うキーの組み合わせ(Up、Down の順)を指定する
# fc.scroll_key = None # PageUp、PageDown キーのみを利用する
fc.scroll_key = ["M-v", "C-v"]
# Emacs 日本語入力モードを使うかどうかを指定する(True: 使う、False: 使わない)
fc.use_emacs_ime_mode = True
# Emacs 日本語入力モードが有効なときに表示するバルーンメッセージを指定する
# fc.emacs_ime_mode_balloon_message = None
fc.emacs_ime_mode_balloon_message = "▲"
# IME の状態を表示するバルーンメッセージを表示するかどうかを指定する(True: 表示する、False: 表示しない)
fc.use_ime_status_balloon = True
# IME の状態を表示するバルーンメッセージの組み合わせ(英数入力、日本語入力)を指定する
fc.ime_status_balloon_message = ["[A]", "[あ]"]
# ウィンドウが切り替わった際、IME の状態をリセット(英数入力)するかを指定する(True: する、False: しない)
fc.use_ime_status_reset = False
# IME をトグルで切り替えるキーを指定する(複数指定可)
fc.toggle_input_method_key = []
fc.toggle_input_method_key += ["C-Yen"]
fc.toggle_input_method_key += ["C-o"]
# fc.toggle_input_method_key += ["O-LAlt"]
#---------------------------------------------------------------------------------------------------
# IME を切り替えるキーの組み合わせ(disable、enable の順)を指定する(複数指定可)
# (toggle_input_method_key のキー設定より優先します)
fc.set_input_method_key = []
## 日本語キーボードを利用している場合、<無変換> キーで英数入力、<変換> キーで日本語入力となる
fc.set_input_method_key += [["(29)", "(28)"]]
## 日本語キーボードを利用している場合、<A> キーで英数入力、<あ> キーで日本語入力となる
## (https://docs.microsoft.com/ja-jp/windows-hardware/design/component-guidelines/keyboard-japan-ime)
fc.set_input_method_key += [["(26)", "(22)"]]
## LAlt の単押しで英数入力、RAlt の単押しで日本語入力となる
## (JetBrains 製の IDE でこの設定を利用するためには、ツールボタンをオンにする必要があるようです。
## 設定は、View -> Appearance -> Tool Window Bars を有効にしてください。)
# fc.set_input_method_key += [["O-LAlt", "O-RAlt"]]
## C-j や C-j C-j で 英数入力となる(toggle_input_method_key の設定と併せ、C-j C-o で日本語入力となる)
# fc.set_input_method_key += [["C-j", None]]
## C-j で英数入力、C-o で日本語入力となる(toggle_input_method_key の設定より優先)
# fc.set_input_method_key += [["C-j", "C-o"]]
## C-j で英数入力、C-i で日本語入力となる(C-i が Tab として利用できなくなるが、トグルキー C-o との併用可)
# fc.set_input_method_key += [["C-j", "C-i"]]
#---------------------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------------
# IME の「再変換」を行うキーを指定する
## IME の「再変換」のために利用するキーを設定する(複数指定可)
## (Google 日本語入力を利用する場合、Ctrl キーと組み合わせたキーを設定してください。「確定取り消し」
## が正常に動作しないアプリケーションソフト(Microsoft Excel、Sakura Editor など)があります。
## ただし、C-Back キーは設定しないでください。)
## (リージョンを選択した状態で Space キーを押下すると「再変換」が機能します)
fc.reconversion_key = []
fc.reconversion_key += ["C-,"] # Comma は < のキーでもあり、変換を戻すイメージを持てるので採用
# fc.reconversion_key += ["(28)"] # <変換> キーを利用する場合でも、本機能を全て使うためには設定が必要
# fc.reconversion_key += ["O-RAlt"] # ワンショットモディファイアの指定も可能
## IME に設定してある「再変換」、「確定取り消し」を行うキーを指定する
## Windows 10 1909 以前の Microsoft IME の場合
if fc.ime == "old_Microsoft_IME":
fc.ime_reconv_key = "W-/" # 「再変換」キー
fc.ime_cancel_key = "C-Back" # 「確定の取り消し」キー
fc.ime_reconv_region = False # 「再変換」の時にリージョンの選択が必要かどうかを指定する
## Windows 10 2004 以降の 新しい Microsoft IME の場合
## (新しい Microsoft IME には確定取り消し(C-Backspace)の設定が無いようなので、「再変換」のキー
## を設定しています)
elif fc.ime == "new_Microsoft_IME":
fc.ime_reconv_key = "W-/" # 「再変換」キー
fc.ime_cancel_key = "W-/" # 「確定の取り消し」キー
fc.ime_reconv_region = False # 「再変換」の時にリージョンの選択が必要かどうかを指定する
## Google 日本語入力の場合
elif fc.ime == "Google_IME":
fc.ime_reconv_key = "W-/" # 「再変換」キー
fc.ime_cancel_key = "C-Back" # 「確定の取り消し」キー
fc.ime_reconv_region = True # 「再変換」の時にリージョンの選択が必要かどうかを指定する
## 上記以外の場合の場合(機能を無効にする)
else:
fc.reconversion_key = []
fc.ime_reconv_key = None
fc.ime_cancel_key = None
fc.ime_reconv_region = False
#---------------------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------------
# Emacs 日本語入力モードを利用する際に、IME のショートカットを置き換えるキーの組み合わせ
# (置き換え先、置き換え元)を指定する
# (「ことえり」のキーバインドを利用するための設定例です。Google 日本語入力で「ことえり」の
# キー設定になっている場合には不要ですが、設定を行っていても問題はありません。)
fc.emacs_ime_mode_key = []
fc.emacs_ime_mode_key += [["C-i", "S-Left"], # 文節を縮める
["C-o", "S-Right"], # 文節を伸ばす
["C-j", "F6"], # ひらがなに変換
["C-k", "F7"], # 全角カタカナに変換
["C-l", "F9"], # 全角英数に表示切替
["C-;", "F8"]] # 半角に変換
if is_japanese_keyboard:
fc.emacs_ime_mode_key += [["C-:", "F10"]] # 半角英数に表示切替
else:
fc.emacs_ime_mode_key += [["C-'", "F10"]] # 半角英数に表示切替
#---------------------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------------
# IME の「単語登録」プログラムを利用するための設定を行う
## IME の「単語登録」プログラムを起動するキーを指定する
# fc.word_register_key = None
fc.word_register_key = "C-]"
## IME の「単語登録」プログラムとそのパラメータを指定する
## Microsoft IME の場合
if fc.ime in ["old_Microsoft_IME", "new_Microsoft_IME"]:
fc.word_register_name = r"C:\Windows\System32\IME\IMEJP\IMJPDCT.EXE"
fc.word_register_param = ""
## Google 日本語入力の場合
elif fc.ime == "Google_IME":
fc.word_register_name = r"C:\Program Files (x86)\Google\Google Japanese Input\GoogleIMEJaTool.exe"
fc.word_register_param = "--mode=word_register_dialog"
## 上記以外の場合の場合(機能を無効にする)
else:
fc.word_register_key = None
fc.word_register_name = None
fc.word_register_param = None
#---------------------------------------------------------------------------------------------------
# Emacs キーバインドを切り替えるキーを指定する
# (Emacs キーバインドを利用するアプリケーションソフトでかつフォーカスが当たっているソフトに対して
# 切り替えが機能します。また、Emacs キーバインドを OFF にしても、IME の切り替えは ime_target に
# 登録したアプリケーションソフトと同様に機能するようにしています。)
# (fc.emacs_target_class 変数に指定したクラスに該当するアプリケーションソフト(Windows10版 Notepad など)
# は、Emacs キーバインドを切り替えの対象となりません(常に Emacs キーバインドとなります)。)
fc.toggle_emacs_keybind_key = "C-S-Space"
# アプリケーションキーとして利用するキーを指定する
# (修飾キーに Alt は使えないようです)
fc.application_key = None
# fc.application_key = "O-RCtrl"
# 数引数の指定に Ctrl+数字キーを使うかを指定する(True: 使う、False: 使わない)
# (False に指定しても、C-u 数字キーで数引数を指定することができます)
fc.use_ctrl_digit_key_for_digit_argument = False
# 数字キー列が Alt キーと一緒に押されたとき、F1 から F12 のファンクションキーとして使うかを指定する
# (True: 使う、False: 使わない)
fc.use_alt_digit_key_for_f1_to_f12 = False
# 表示しているウィンドウの中で、一番最近までフォーカスがあったウィンドウに移動するキーを指定する
fc.other_window_key = "A-o"
# ウィンドウ操作(other_window など)の対象としたくないアプリケーションソフトのクラス名称を指定する
# (正規表現で指定してください(複数指定する場合は「|」で連結してください))
fc.window_operation_exclusion_class = r"Progman"
# ウィンドウ操作(other_window など)の対象としたくないアプリケーションソフトのプロセス名称を指定する
# (正規表現で指定してください(複数指定する場合は「|」で連結してください))
fc.window_operation_exclusion_process = r"RocketDock\.exe" # サンプルとして RocketDock.exe を登録
# クリップボードリストを起動するキーを指定する
fc.clipboardList_key = "A-y"
# ランチャーリストを起動するキーを指定する
fc.lancherList_key = "A-l"
# shell_command 関数で起動するアプリケーションソフトを指定する
# (PATH が通っていない場所にあるコマンドは、絶対パスで指定してください)
fc.command_name = r"cmd.exe"
# コマンドのリピート回数の最大値を指定する
# (数値を大きくしていくと「Time stamp inversion happened.」が発生するので注意してください)
fc.repeat_max = 128
# Microsoft Excel のセル内で改行を選択可能かを指定する(True: 選択可、False: 選択不可)
# (kill_line 関数の挙動を変えるための変数です。Microsoft Excel 2019 以降では True にして
# ください。)
fc.is_newline_selectable_in_Excel = True
# Ctrl キー単押しで開く Ctrl ボタンを持つアプリケーションソフト(プロセス名称とクラス名称の
# 組み合わせ(ワイルドカード指定可))を指定する
# (Microsoft Word 等では画面に Ctrl ボタンが表示され、Ctrl キーの単押しによりサブウインドウが
# 開く機能があります。その挙動を抑制するアプリケーションソフトのリストを指定してください。)
fc.ctrl_button_app_list = [["WINWORD.EXE", "_WwG"],
["EXCEL.EXE", "EXCEL*"],
["POWERPNT.EXE", "mdiClass"],
]
# ゲームなど、キーバインドの設定を極力行いたくないアプリケーションソフトを指定する
# (アプリケーションソフトは、プロセス名称のみ(ワイルドカード指定可)、もしくは、プロセス名称、
# クラス名称、ウィンドウタイトルのリスト(ワイルドカード指定可、リストの後ろの項目から省略可)
# を指定してください)
# (keymap_global 以外のすべてのキーマップをスルーします。ゲームなど、Keyhac によるキー設定と
# 相性が悪いアプリケーションソフトを指定してください。keymap_base の設定もスルーするため、
# 英語 -> 日本語キーボード変換の機能が働かなくなることにご留意ください。)
# (msrdc.exe の行の有効化の必要性については、次のコミットの説明を参照してください。
# https://github.com/smzht/fakeymacs/commit/5ceb921bd754ce348f9cd79b6606086916520945)
fc.game_app_list = ["ffxiv_dx11.exe", # FINAL FANTASY XIV
# ["msrdc.exe", "RAIL_WINDOW"], # WSLg
]
# [section-base-2] ---------------------------------------------------------------------------------
# Grave Escape をエミュレーションする設定
# (https://github.com/qmk/qmk_firmware/blob/master/docs/feature_grave_esc.md)
# define_key(keymap_base, "S-Esc", self_insert_command("~"))
# define_key(keymap_base, "W-Esc", self_insert_command("`"))
# A-Tab で起動するタスク切り替え画面で、Alt+j,l,i,k のキーを使ってタスクを移動するための設定
# define_key(keymap_tsw, "A-j", self_insert_command("A-Left"))
# define_key(keymap_tsw, "A-l", self_insert_command("A-Right"))
# define_key(keymap_tsw, "A-i", self_insert_command("A-Up"))
# define_key(keymap_tsw, "A-k", self_insert_command("A-Down"))
####################################################################################################
## クリップボードリストの設定
####################################################################################################
# [section-clipboardList-1] ------------------------------------------------------------------------
# クリップボードリストを利用するための設定です。クリップボードリストは fc.clipboardList_key 変数で
# 設定したキーの押下により起動します。クリップボードリストを開いた後、C-f(→)や C-b(←)
# キーを入力することで画面を切り替えることができます。
# (参考:https://github.com/crftwr/keyhac/blob/master/_config.py)
# 定型文
fc.fixed_items = [
["---------+ x 8", "---------+" * 8],
["メールアドレス", "user_name@domain_name"],
["住所", "〒999-9999 NNNNNNNNNN"],
["電話番号", "99-999-9999"],
]
fc.fixed_items[0][0] = list_formatter.format(fc.fixed_items[0][0])
# 日時
fc.datetime_items = [
["YYYY/MM/DD HH:MM:SS", dateAndTime("%Y/%m/%d %H:%M:%S")],
["YYYY/MM/DD", dateAndTime("%Y/%m/%d")],
["HH:MM:SS", dateAndTime("%H:%M:%S")],
["YYYYMMDD_HHMMSS", dateAndTime("%Y%m%d_%H%M%S")],
["YYYYMMDD", dateAndTime("%Y%m%d")],
["HHMMSS", dateAndTime("%H%M%S")],
]
fc.datetime_items[0][0] = list_formatter.format(fc.datetime_items[0][0])
fc.clipboardList_listers = [
["定型文", cblister_FixedPhrase(fc.fixed_items)],
["日時", cblister_FixedPhrase(fc.datetime_items)],
]
# [section-clipboardList-2] ------------------------------------------------------------------------
####################################################################################################
## ランチャーリストの設定
####################################################################################################
# [section-lancherList-1] --------------------------------------------------------------------------
# ランチャー用のリストを利用するための設定です。ランチャーリストは lancherList_key 変数で
# 設定したキーの押下により起動します。ランチャーリストを開いた後、C-f(→)や C-b(←)
# キーを入力することで画面を切り替えることができます。
# (参考:https://github.com/crftwr/keyhac/blob/master/_config.py)
# アプリケーションソフト
fc.application_items = [
["Notepad", keymap.ShellExecuteCommand(None, r"notepad.exe", "", "")],
["Explorer", keymap.ShellExecuteCommand(None, r"explorer.exe", "", "")],
["Cmd", keymap.ShellExecuteCommand(None, r"cmd.exe", "", "")],
["MSEdge", keymap.ShellExecuteCommand(None, r"msedge.exe", "", "")],
["Chrome", keymap.ShellExecuteCommand(None, r"chrome.exe", "", "")],
["Firefox", keymap.ShellExecuteCommand(None, r"firefox.exe", "", "")],
["Thunderbird", keymap.ShellExecuteCommand(None, r"thunderbird.exe", "", "")],
]
fc.application_items[0][0] = list_formatter.format(fc.application_items[0][0])
# ウェブサイト
fc.website_items = [
["Google", keymap.ShellExecuteCommand(None, r"https://www.google.co.jp/", "", "")],
["Facebook", keymap.ShellExecuteCommand(None, r"https://www.facebook.com/", "", "")],
["Twitter", keymap.ShellExecuteCommand(None, r"https://twitter.com/", "", "")],
["Keyhac", keymap.ShellExecuteCommand(None, r"https://sites.google.com/site/craftware/keyhac-ja", "", "")],
["Fakeymacs", keymap.ShellExecuteCommand(None, r"https://github.com/smzht/fakeymacs", "", "")],
["NTEmacs@ウィキ", keymap.ShellExecuteCommand(None, r"https://w.atwiki.jp/ntemacs/", "", "")],
]
fc.website_items[0][0] = list_formatter.format(fc.website_items[0][0])
fc.lancherList_listers = [
["App", cblister_FixedPhrase(fc.application_items)],
["Website", cblister_FixedPhrase(fc.website_items)],
["Other", cblister_FixedPhrase(fc.other_items)],
]
# [section-lancherList-2] --------------------------------------------------------------------------
####################################################################################################
## 拡張機能の設定
####################################################################################################
# [section-extensions] -----------------------------------------------------------------------------
# https://github.com/smzht/fakeymacs/blob/master/fakeymacs_manuals/extensions.org
# --------------------------------------------------------------------------------------------------
# ■ ウィンドウ操作関連
# --------------------------------------------------------------------------------------------------
# ウィンドウ操作のための設定を行う
if 0:
fc.minimize_window_key = [["A-S-m", "A-m"]]
fc.maximize_window_key = [["W-S-q", "W-q"]]
fc.switch_windows_key = [["A-p", "A-n"]]
fc.switch_windows_key2 = [["A-S-p", "A-S-n"]]
fc.move_window_key_for_displays = [[None, "W-o"]]
fc.transpose_windows_key = "W-t"
fc.switch_desktops_key = [["W-b", "W-f"]]
fc.move_window_key_for_desktops = []
exec(readConfigExtension(r"window_operation\config.py"), dict(globals(), **locals()))
# --------------------------------------------------------------------------------------------------
# ■ ブラウザ関連
# --------------------------------------------------------------------------------------------------
# Chrome 系ブラウザで Ctl-x C-b を入力した際、Chrome の拡張機能 QuicKey を起動する
if 0:
fc.chrome_list= ["msedge.exe",
"chrome.exe",
]
fc.quickey_shortcut_key = "A-q"
exec(readConfigExtension(r"chrome_quickey\config.py"), dict(globals(), **locals()))
# --------------------------------------------------------------------------------------------------
# ブラウザをポップアップしてから、ブラウザのショートカットキーを入力するキーを設定する
if 0:
fc.browser_list= ["chrome.exe",
"msedge.exe",
"firefox.exe",
]
exec(readConfigExtension(r"browser_key\config.py"), dict(globals(), **locals()))
# --------------------------------------------------------------------------------------------------
# ■ Emacs キーバインド関連
# --------------------------------------------------------------------------------------------------
# Emacs の shell-command-on-region の機能をサポートする
if 0:
fc.unix_tool = "WSL"
# fc.unix_tool = "MSYS2"
# fc.unix_tool = "Cygwin"
# fc.unix_tool = "BusyBox"
# fc.bash_options = []
fc.bash_options = ["-l"]
exec(readConfigExtension(r"shell_command_on_region\config.py"), dict(globals(), **locals()))
# --------------------------------------------------------------------------------------------------
# Emacs キーバインドを利用しない設定のアプリで、メニューの操作用の Emacs キーバインドを設定する
if 0:
fc.menu_target= ["ttermpro.exe", # TeraTerm
]
exec(readConfigExtension(r"menu_key\config.py"), dict(globals(), **locals()))
# --------------------------------------------------------------------------------------------------
# ■ VSCode 関連
# --------------------------------------------------------------------------------------------------
# VSCode 用のキーの設定を行う
if 0:
# VSCode の settings.json に次の行の設定を追加してご利用ください
# "window.title": "${dirty}${activeEditorShort}${separator}${rootName}${separator}${appName} - ${focusedView}"
fc.vscode_prefix_key = [["C-k", "C-A-k"]]
fc.cursor_prefix_key = [["C-m", "C-A-m"]]
fc.vscode_replace_key = []
fc.cursor_replace_key = [["C-e", "C-A-e"],
["C-l", "C-A-l"],
]
fc.use_ctrl_atmark_for_mark = False
fc.esc_mode_in_keyboard_quit = 1
exec(readConfigExtension(r"vscode_key\config.py"), dict(globals(), **locals()))
# --------------------------------------------------------------------------------------------------
# ■ IME 関連
# --------------------------------------------------------------------------------------------------
# 半角と全角の入力を間違えた際、入力モードの切り替えと入力文字の変換を行う
if 0:
exec(readConfigExtension(r"zenkaku_hankaku\config.py"), dict(globals(), **locals()))
# --------------------------------------------------------------------------------------------------
# 指定したキーを押下したときに IME の状態を表示する
if 0:
fc.pop_ime_balloon_key = ["C-;"]
# fc.pop_ime_balloon_key = ["O-" + fc.side_of_ctrl_key + "Ctrl"] # Ctrl キーの単押し
exec(readConfigExtension(r"pop_ime_balloon\config.py"), dict(globals(), **locals()))
# --------------------------------------------------------------------------------------------------
# ■ Emacs 関連
# --------------------------------------------------------------------------------------------------
# Emacs をターミナルで動かす場合に event-apply-modifier を使ってキーの置き換えを行う
if 0:
fc.emacs_terminal = ["ubuntu*.exe",
[None, None, "さくらのクラウドシェル (リモート)"],
]
fc.emacs_replace_key = [["C-;", "C-x @ c ;"],
]
exec(readConfigExtension(r"emacs_terminal\config.py"), dict(globals(), **locals()))
# --------------------------------------------------------------------------------------------------
# Emacs を利用する際のキーバインドの調整を行う
if 0:
exec(readConfigExtension(r"real_emacs\config.py"), dict(globals(), **locals()))
# --------------------------------------------------------------------------------------------------
# クリップボードに格納したファイルもしくはフォルダのパスを emacsclient で開く
if 0:
fc.emacsclient_name = r"<emacsclient プログラムをインストールしている Windows のパス>\wslclient-n.exe"
exec(readConfigExtension(r"emacsclient\config.py"), dict(globals(), **locals()))
# --------------------------------------------------------------------------------------------------
# ■ キーボード関連
# --------------------------------------------------------------------------------------------------
# 60% US キーボードのキー不足(Delete キー、Backquote キー不足)の対策を行う
if 0:
exec(readConfigExtension(r"compact_keyboard\config.py"), dict(globals(), **locals()))
# --------------------------------------------------------------------------------------------------
# 英語キーボード設定をした OS 上で日本語キーボードを利用する場合の設定を行う
if 0:
fc.change_keyboard_startup = "US"
# fc.change_keyboard_startup = "JP"
exec(readConfigExtension(r"change_keyboard\config.py"), dict(globals(), **locals()))
# --------------------------------------------------------------------------------------------------
# 日本語キーボード設定をした OS 上で日本語キーボードを英語配列で利用する場合の設定を行う
if 0:
fc.change_keyboard2_startup = "US"
# fc.change_keyboard2_startup = "JP"
exec(readConfigExtension(r"change_keyboard2\config.py"), dict(globals(), **locals()))
# --------------------------------------------------------------------------------------------------
# ■ 不具合是正関連
# --------------------------------------------------------------------------------------------------
# YouTube で Space による停止、再生が正しく機能しないことの暫定的な対策を行う
if 1:
exec(readConfigExtension(r"youtube_space_key\config.py"), dict(globals(), **locals()))
# --------------------------------------------------------------------------------------------------
# 旧 Microsoft IME を使って文節長を変更した際、文節の表示が正しく行われないアプリの対策を行う
if 1:
exec(readConfigExtension(r"bunsetsu_correction\config.py"), dict(globals(), **locals()))
# --------------------------------------------------------------------------------------------------
# ■ その他
# --------------------------------------------------------------------------------------------------
# アプリでショートカットキーが設定されていないメニューコマンドにキーを設定する
if 0:
fc.menu_command_key = [["chrome.exe", 35024, "C-A-r"], # 現在のタブの右隣に新しいタブを開く
["msedge.exe", 35024, "C-A-r"], # 現在のタブの右隣に新しいタブを開く
]
exec(readConfigExtension(r"menu_command_key\config.py"), dict(globals(), **locals()))
# --------------------------------------------------------------------------------------------------
# 指定したアプリケーションソフトに F2(編集モード移行)を割り当てるキーを設定する
if 0:
exec(readConfigExtension(r"edit_mode\config.py"), dict(globals(), **locals()))
# --------------------------------------------------------------------------------------------------
# Everything を起動するキーを指定する
if 0:
exec(readConfigExtension(r"everything\config.py"), dict(globals(), **locals()))
# --------------------------------------------------------------------------------------------------
# Boss だ!
if 0:
exec(readConfigExtension(r"boss\config.py"), dict(globals(), **locals()))
# --------------------------------------------------------------------------------------------------
# 拡張機能を追加する場合は、ここに挿入してください
# [section-extension-space_fn] ---------------------------------------------------------------------
# SpaceFN を実現する設定を行う
if 0:
fc.space_fn_key = "Space"
# fc.space_fn_key = "(29)" # 「無変換」キー
# fc.space_fn_window_keymap_list = [keymap_emacs]
# fc.space_fn_window_keymap_list += [keymap_lw]
# fc.space_fn_window_keymap_list += [keymap_ime]
# fc.space_fn_window_keymap_list += [keymap_ei]
# fc.space_fn_window_keymap_list += [fakeymacs.keymap_vscode]
exec(readConfigExtension(r"space_fn\config.py"), dict(globals(), **locals()))
# [section-extension-capslock_key] -----------------------------------------------------------------
# CapsLock キーを Ctrl キーとして使うための設定を行う
if 0:
exec(readConfigExtension(r"capslock_key\config.py"), dict(globals(), **locals()))
# --------------------------------------------------------------------------------------------------