キーカスタマイズツールの keyhac を大変ありがたく常用している。非常に柔軟で便利なのだけど、一点だけ気になるところがある。エラー発生時にコンソールが表示される。
エラー
ERROR : 予期しないエラーが発生しました : _onKeyDown Traceback (most recent call last): File ".\keyhac_keymap.py", line 577, in strToMod KeyError: '<C' During handling of the above exception, another exception occurred: Traceback (most recent call last): File ".\keyhac_keymap.py", line 1335, in setInput_FromString File ".\keyhac_keymap.py", line 579, in strToMod ValueError During handling of the above exception, another exception occurred: Traceback (most recent call last): File ".\keyhac_keymap.py", line 975, in _onKeyDown File ".\keyhac_keymap.py", line 914, in _keyAction File ".\keyhac_keymap.py", line 1342, in setInput_FromString ValueError
こういったエラーが発生した場合にコンソールウインドウが表示される。表示されるけど、 "だから何?" で操作には特に影響が無いのでウインドウを閉じる。日に何回か出る。無視して表示したままにしてもいいのだけど無駄に表示されているのを見ると閉じてしまう。気になる。そもそも表示されないで欲しい。
ソースコードがあるので何日かかけてビルドできるようにしたけど、結果的にはそんなことしなくてよかった。
python コードを直す
keyhac の実行フォルダに library.zip があるので、これを解凍する。 解凍後に作られた library フォルダを library.zip にリネームする。 * .pyc の代わりに対応する .py ファイルを置けば良い。
diff --git a/keyhac_consolewindow.py b/keyhac_consolewindow.py index 779493b..cf59b01 100644 --- a/keyhac_consolewindow.py +++ b/keyhac_consolewindow.py @@ -434,7 +434,7 @@ class ConsoleWindow(ckit.TextWindow): class Stderr: def write( writer_self, s ): writeCommon(s) - self.show(True,False) + //self.show(True,False) if not self.debug:
今回は keyhac_consolewindow.py を直して格納するだけ。
まとめ
また一つ便利になった。
が、ここまで書いて気がついたけどコメント行は # じゃないのか?内部エラー出てるのかもしれないけど、期待通りになっている (エラーコンソールが表示されない)。