ラベル Windows の投稿を表示しています。 すべての投稿を表示
ラベル Windows の投稿を表示しています。 すべての投稿を表示

[Windows] AutoHotKey その2

職場の Windows PC に AutoHotKey というソフトを導入して、キーバインドを変更したら、ものすごくキー入力が楽になった。ホームポジションから手をはずさずに上下左右、行頭・行末にカーソルを移動させたり、文字を削除したりできる。ストレスフリー。

カーソル移動系がスムーズにできるようになったのはいいのだけれども、日本語キーボードを使いながらプログラムを書いていると、クオーテーションマーク ('シングルも"ダブルも) を打つ際に、ホームポジションから手が外れることが気になった。手が外れるということは、その瞬間に目線も画面から外れているので、その一瞬の無駄な作業が積み重なって時間が取られていたり、ストレスを感じていたりした。ということで、AutoHotKey を使って、解決。

; F13 + s で シングルクオーテーション
F13 & s::send, '

; F13 + l で ダブルクオーテーション
F13 & l::send, "

シングルの"s" と、できればダブルの "d" で行きたかったけれども、"F13+d" は文字削除に割り振っているので、代わりに "l"。F13を押しながら、左右の薬指で両クオーテーションマークが打てるようになった。

[Windows] AutoHotKey で キーバインディング

個人的にはずっとMacを利用しているのだけれども、その理由の一つが「矢印キーを押さなくてもカーソルを動かせる」という、すごく小さい理由。矢印キーは大体エンターキーの下あたりにあるけれども、カーソルを動かすために一度右手をホームポジションから離して、カーソルキーを押して、Jのぽっちを探してホームポジションを取り直し、、、という小さな繰り返しが煩わしく感じてしまうのだけれども、Macであれば、特に設定もせずに、Control(^)+f/b/n/p でカーソルを右/左/下/上、に動かすことができる。さらにいうと、Control(^)+a/eで、行頭/行末 に移動したり、Control(^)+kで、カーソルから行末までをカットしたり、、、など、ホームポジションから手を動かさずともさくさくカーソルを動かすことができる。標準で Windows ではそのような使い方はできない。だから Windows を使いたくなかった。

職場のPCがWindowsという縛りがあり、渋々矢印キーを押しながら仕事をしていたのだが、少し調べてみたらAutoHotKeyという素晴らしいソフトがあるとわかった。これは、色々な機能があるようだけれども、AutoHotKeyを使うことによって、任意の実際の入力がなされたときに、任意の別の入力がされたようにマップすることができてしまう。例えば、CapsLock を押しながらfを押すと、矢印右ボタンが押されたことにできてしまう。このソフトを利用することで、Windows であってもホームポジションから手を離さずに、Mac と同じようにカーソル移動(その他)ができてしまう。

カーソル移動以外にも色々できるので、備忘も兼ねてシェア。なお ChangeKeyというソフトを使ってCapsLockをF13キーとして割り振っている:


;Ctrl + q で閉じる
^q::send, !{F4}

;Ctrl + k で カタカナ (F7キー)
^k::send, {F7}

;Emacs風。なお、CapsLockをF13に割り振っている(ChgKey を利用している。Scan
Code --> 0x0064)
F13 & a::send,{Blind}{Home}
F13 & e::send,{Blind}{End}
F13 & p::send,{Blind}{Up}
F13 & b::send,{Blind}{Left}
F13 & n::send,{Blind}{Down}
F13 & f::send,{Blind}{Right}
F13 & d::Delete
F13 & h::Backspace
F13 & m::Send {Blind}{Enter}
F13 & k::send +{End}{Delete}
F13 & u::send +{Home}{Delete}
; Altキーは ! , Ctrlキーは ^
!f::send, ^{Right}   ;カーソルを1単語右
+!f::send, +^{Right}   ;選択肢ながらカーソルを1単語右
!b::send, ^{Left}   ;カーソルを1単語左
+!b::send, +^{Left}   ;選択肢ながらカーソルを1単語左

;F13 (Capslock) を押しながら ↑で音量Up、↓でDown
F13 & Up::
Send,{Volume_Up 1}
SoundPlay, x64
Return

F13 & Down::
Send,{Volume_Down 1}
SoundPlay, x64
Return

;今日の日付を入力 F13(CapsLock) + t
F13 & t::
FOrmatTime, TImeString,, yyyyMMdd
Send, %TimeString%
Return

[Windows] Macと同じようなカーソル移動ができるように設定:CapsLock (F13) + a/e/b/k...など

普段は Mac を使っている人が、なんらかの制約 (例えば職場の支給PCなど) によって Windows を利用する時に困ってしまうことがいくつかある。そのうちの一つが「カーソル移動」だろう。例えば Mac では、文字を「control + a/e」で行頭/行末にカーソルを移動させたり、「control + b/f」で一文字分カーソルを前後に移動させたりすることができる (他にも、「control + あるキー」で一行上/下、一文字消す、行末まで消す、エンターキー代わる、などなど)。Mac の日本語配列キーボードだと、controlキーは a の左側にある。小指を少し動かして control を押しながら 普通の (?) 文字を押せばカーソルを動かせるし、文字を消したりできる。つまり、わざわざ手をホームポジションから移動させることなくカーソル移動だったり文字の削除だったりができるのだ。たくさん文字を打つような場面では重宝する。

Windows でも同じようなことができないかなぁ、と思いインターネットで調べていたら、見事な解決策を考えられている方が多数。導入してみたところ、「Windows を使う負担感」が激減したので、備忘も兼ねてシェア。なお、Windows 10 を利用。

Step1: ChangeKey で「Caps Lock」を「F13」にする。

Change Key を利用するのが簡単みたい。インストール後、Caps Lock の scan code を 「0x0064」とする。
これは、Caps Lock を F13 という、実際には存在していないキーとして利用できるようにする操作のよう。つまり、Caps Lock を押すと、F13 が押されていることになる。(あと、今回の記事の内容とは関係ないけれども、追加で、Ctrl左 と Alt左 を入れ替えている。Mac の command キーの場所に、Windows の Ctrl を置くようにすると、ストレスが減る)
参考: ChangeKeyを使用してWindowsキーをF13キーに変更する方法 | 情報科学屋さんを目指す人のメモ(FC2ブログ版)。

Step2: AutoHotKey で 「CapsLock (=F13) + 〜」に、別のキーを割り当てていく。

AutoHotKey を利用すると、特定の入力を別の入力と置き換えることができる。例えば、「F13キーを押しながらaを押したら、Homeボタンが押されたことにする」ということが可能になる。2021年2月現在のスクリプト:

;Emacs風。なお、CapsLockをF13に割り振っている(AutoHotKeyを利用している。ScanCode --> 0x0064)
F13 & a::send,{Blind}{Home}
F13 & e::send,{Blind}{End}
F13 & p::send,{Blind}{Up}
F13 & b::send,{Blind}{Left}
F13 & n::send,{Blind}{Down}
F13 & f::send,{Blind}{Right}
F13 & d::Delete
F13 & h::Backspace
F13 & m::Send {Blind}{Enter}
F13 & k::send {Shift}+{End}{Delete}

;Ctrl + q で閉じる
^q::send, !{F4}

;F13 (Capslock) を押しながら ↑で音量Up、↓でDown
F13 & Up::
Send,{Volume_Up 1}
SoundPlay, x64
Return

F13 & Down::
Send,{Volume_Down 1}
SoundPlay, x64
Return
「Emacs風」のカタマリがキー操作関係。セミコロンはコメントアウト。
基本的には「::send,」の左側の入力をすると、右側の入力がされたことになる、というイメージ。{Blind}というのを挟むと、Shiftを押しながらの操作も可能になるらしい。 (Ctrl+q で Alt+F4, F13と上/下でボリュームUP/Down もついでに。)
あとは、当該のファイルを右クリックで run すれば完了。
また、shell:startup に当該ファイルを置いておくと、Windowsを起動した際に自動的にスクリプトが実行されるので便利。
参考:WindowsでもmacOSのようなキー操作を実現する | 学ぶ、考える、書き出す。

AutoHotKey を使うと、どのようなソフト・アプリでもキーバイドが有効になってくれるのが嬉しい。というのは、以前、Mac版のOfficeを使っているときは、VBAのIDEでは control + a などのキーバインドが効かなくてとても辛かった。今回の AutoHotKey のやり方だと、Windowsにも関わらず VBA でもなんでも上記のキーバインドが使えるようになる。VBA の IDE を使わなければならない時の負担感がずいぶん軽減される。

[Car] クイック板金(2回目)

車のバンパーを擦ってしまった。。。ということで、 イエローハットのクイック板金 にお願いしていました。別の店舗に持って行っての作業ということで数日かかりましたが、無事に車が帰ってきました。結果、とても綺麗に直してもらい、非常に満足しています。板金をしたと言われても、素人目にはわか...