keyhac の ワンショットモディファイアの問題にあるように、keyhac ver 1.34ではワンショットモディファイアで問題が発生するようだ。 自分では全く困っていないのだが、ちょっと興味があって調べてみたので、その事について記述しておく。 結論から書くと、根本の原因は解明できなかったが、回避方法が判明した。以下、その回避方法を列挙する。 ■ 設定(config.py)で回避する ワンショットモディファイアを定義する時、同時に「KEY-UP」についても定義する事で問題を回避する事ができる。具体的には以下のように記述すれば良い。 keymap_global[ "O-LCtrl" ] = "A" keymap_global[ "U-LCtrl" ] = "U-LCtrl" これにより「U-LCtrl」がpyauto.Input.send経由で発生する。このパターンでは問題が発生しないよう
keyhac 1.16 を公開した。 1.16 クリップボード履歴を、Shiftを押しながら決定したときは、クリップボードの内容を更新した後の貼り付けを行わないようにした。 操作は、QTClip といっしょに。 じつは、現在のkeyhac には、コピーをしても、クリップボードの履歴が更新されなくなる場合がある、という 不具合が存在する。その場合には、keyhac を再起動するか、keyhac のコンソールウインドウのテキストを コピー操作してやると復帰するようだ。ここは、早めに修正したいところ。原因もよく分かってない。
keyhac v1.08 はワンショットモディファイアを定義できる。これを使って SandS を実現するには、次のようにスペースキーを一旦 Shift キーに置き換え、Shift キーがワンショットで押されたら Space が入力されるようにする。 # config.py from keyhac import * def configure(keymap): keymap_global = keymap.defineWindowKeymap() keymap.replaceKey("Space", "RShift") keymap_global["O-RShift"] = "Space" 簡単だ。もちろんこの場合、本来の RShift キーでも Space が入力される。不都合なら RShift を LShift にしちゃおう。 ちなみに、同じことを窓使いの憂鬱でやるとこんな感じ。 mod
keyhac で「選択文字列を Google 検索」を実現するには次のようにする。 def configure(keymap): keymap_global = keymap.defineWindowKeymap() def launch_selstr(prefix = u"", suffix = u""): def _launch_selstr(): keymap.command_InputKey("C-C")() shellExecute(None, None, prefix + getClipboardText() + suffix, "", "", SW_NORMAL) return _launch_selstr keymap_global["W-2"] = launch_selstr(ur"http://www.google.com/search?q=") この例では Win+[
keyhacとは このソフトウェアは、スクリプト言語 Python を使って、キーボード操作を カスタマイズするアプリケーションです。 アプリケーションの標準のキーアサインを柔軟にカスタマイズしたい人に とって便利なソフトウェアです。 特徴 - キーボードの入力をカスタマイズします。 - 設定ファイルをスクリプト言語 Python で記述します。 - キー入力を別のキー入力に置き換えることが出来ます。 - キー入力に応じて Python で記述した任意のアクションを実行できます。 - アプリケーションごとに、別々のキーマップにカスタマイズできます。 - タスクトレイに常駐します。 - キーボードでウインドウを移動させることが出来ます。 - キーボードでウインドウをアクティブ化ことが出来ます。 - キーボードでマウスの操作を実行できます。 - モディファイアキーを新たに定義することが出来ます
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く