11
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

keyhac1.77とautohotkeyの比較ポエム

Last updated at Posted at 2016-03-21

※ 私がAHKを完全に使わなくなったのでもう比較することはないし,この記事を書く上での視点に意味がなくなったので更新はやめます.
Keyhac Ver1.77時点の情報であるため,誤りがある可能性も十分あります.差分は作者のブログなどで確認してください.

用途


  • アプリケーションランチャー及びアクティブ化
  • 無変換+anykeyでvimみたいな動きとか
  • ウィンドウ別の動きの設定今は使わなくなった.
  • MX ERGOの拡張ボタンへの割当

環境

  • Win10 (記事更新時点で最新のもの)
  • keyhac 1.77

autohotkey

良い所

  • ある単純な機能を実現するためのコードが短くて済む
  • wikiの情報が非常に豊富
  • マウスの組み合わせもカスタマイズ可能.
  • {blind}でshift+割り当てたホットキーとかできる.

悪い所

  • キーすり抜け問題がどう頑張っても残る
  • あまり綺麗ではない構文
  • スクリプトの知識がahkにしか使えない
  • 複雑なことをやろうとすると情報がない

keyhac

良い所

  • モダンなpython3系でカスタマイズ出来る
  • pythonなので構文が綺麗
  • キーすり抜けが発生しない
  • 複雑なことをやろうとした時はpythonなので情報が多い
  • 定型文機能や大量の履歴を持てる強力なクリップボード+αな機能(エクセルなど他のクリップボード管理系アプリとは良く競合する)
  • U0等の新たに修飾キーを宣言できる書き方が非常に汎用性が高い
  • 同作者とのcfilerやcraftlaunchとの設定ファイルが似通っているので非常にやりやすい
  • キーボードマクロが直感的で使いやすい

悪い所

  • ahkみたいにキーバインド記述に特化されてるわけではないので,単純な機能を実装するにも書くコード量が多い
  • 通知領域から消えるバグが有ってその度タスクマネージャから消してやる必要がある.(再現出来ていないがエクスプローラークラッシュ時に高確率で起こる?)→別ソフトが原因でエクスプローラがよくクラッシュしていたらしく、それを取り除けばそんなに気にならなくなったver1.76から解消された.
  • マウスとの連携が出来ない
  • 同一クラスのウィンドウがあった場合,明示的にアクティベートできないver1.77からはActivateWindowCommand関数に正常な場合そのウィンドウの戻り値が帰ってくるようになったのでAHKと同レベルになった.
  • ここのソフト全般に言えるけど,変な使い方をすると結構壊れて,そのときに他のプログラムを巻き込んだりする.
    • 例えばAlt-Aに存在しないコマンドを割り当てるとpc全体のフレームレートが落ちて数秒後にクラッシュするなどと言った現象が起きる.
    • とは言ってもこのソフト使う人の層からして大丈夫でしょ.と思わなくもない.
  • macをサポートしている(宗教上の理由)

まとめ

MouseGestureL.ahkとこれで完全にまかなえるようになった.
キーバインド変更にとどまらない付帯機能を使うならば,今やAHKを選ぶ理由としては開発の活発性ぐらいだろうと思う.

とは言っても私が同作者のフリーソフトを3つも使っているので,大分バイアスはかかっていると思う.

11
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?