右Alt

右Altが要らないのでPoeを呼ぶショートカットに使う

いつもの右Alt狂ポスト。備忘も兼ねてショートエントリー。

Poeのデスクトップ版は、グローバルキーボードショートカットがあって、特定キーを押すと自動で前面にPoeが出てくるようにできる。この手のショートカットの厄介なのは、他のアプリケーションと組み合わせが被ってしまう可能性があるところだ。そこで、いつもの如く右Altを利用して「他と被らないキーボードショートカット」を実現する。Poeに限らずこの手口は応用が利く。

作戦

右AltベースのショートカットをAutohotkeyでまた別の組み合わせにマッピングする。

まずは右Altを謎キーコードに変えておく必要がある。

謎キーコードと化した右AltをPoeのショートカット設定画面から入力しても何も反応しない。なので、設定したいショートカット(右Alt + バックスラッシュ、など)が絶対に他と被らないようなキーの組み合わせとなるようにAutohotkeyを使ってマッピングする。私はよくF13以降のファンクションキーを使う。今回はWin/Cmd + Ctrl + Alt + F18とした。普通のキーボードにF18なんか無い。

sc159 & \:: Send, ^#!{F18} ; Shortcut assigned for Poe

そして、先程のPoeの設定画面に戻って、右Alt+バックスラッシュを入力すると、

できた!これで、いつでもPoeが呼び出せる。

関係無いけどGemini-Proってレスポンスめちゃくちゃ早いですね。

Posted by 効率化好きな人 in productivity, 0 comments

右Altが要らないのでGoogle翻訳ショートカットに使う

Windows限定ながら、どのアプリケーションからでも1発でGoogle翻訳(またはDeepL)に遷移する方法をまたまたAutoHotKey + 右Altで実現する。紹介する方法は英⇒日のみ想定しているが、逆もやれば出来ると思う。

翻訳したい英文をCtrl+Cでクリップボードにコピーして、右Alt+Tで、Google翻訳にジャンプ、という2手で目的達成。

伝統の右Alt狂シリーズです。

事前準備

Google翻訳も、DeepL翻訳もURLに文字列を渡すことで、翻訳画面にテキストがプリセットされた状態を実現できるので、これを利用する。

右Alt活用のため、キーコードを事前に変更しておく必要がある。

Autohotkeyも使うので適宜インストール。

Autohotkeyのスクリプト設定

私は英文契約書を書いたり、海外とやりとりすることが多いので、最近は専らDeepL派である。ということで、

右Alt+TならDeepL、右Alt+TT(連打)ならGoogle翻訳、となるようにスクリプトを作成した。TranslateなんでとりあえずT。

文章中に/が入っていると上手くパラメータを渡すことができないのでDeepLのときだけ追加でエスケープしている。

; Google translate from clipboard
sc159 & T::
	en_text := LC_UriEncode(CLIPBOARD)
	Keywait, T, U
	Keywait, T, D T0.3
	if (ErrorLevel) {
		en_text := StrReplace(en_text, "%2F", "%5C%2F")
		Run,https://www.deepl.com/translator#en/ja/%en_text% ; DeepL Translator if T is single-pressed
	} else {
		Run,https://translate.google.co.jp/#en/ja/%en_text% ; Google Translator if T is double-pressed
	}
Return
; ------------- Methods --------------
; Reference http://goo.gl/0a0iJq
LC_UriEncode(Uri, RE="[0-9A-Za-z]") {
	VarSetCapacity(Var, StrPut(Uri, "UTF-8"), 0), StrPut(Uri, &Var, "UTF-8")
	While Code := NumGet(Var, A_Index - 1, "UChar")
		Res .= (Chr:=Chr(Code)) ~= RE ? Chr : Format("%{:02X}", Code)
	Return, Res
}

私は英語を自分で書いて、日本語に変換してレビュー、という目的でしか使わないので、日⇒英のスクリプトは作っていないが、上記URLのenとjaを入れ替えれば多分逆方向もできるんじゃないかな。(適当)

まとめ

右Alt+Tでクリップボードの値をGoogle or DeepL翻訳。

それにしてもDeepL賢すぎます…

Posted by 効率化好きな人 in productivity, 0 comments
右Altキーが要らないので違う使い道を考える – Vim風カーソル移動編

右Altキーが要らないので違う使い道を考える – Vim風カーソル移動編

Windowsのキーボードに存在する右Altキー。全く使わないものの、ホームポジション上自然と親指が当たるところだし、位置的にはかなり美味しい。
そこで、特殊モディファイアーキーとして利用することで、幸せになれる使い道を考える。

幸せになれる使い道

唐突だが早速、右Alt + hjklで、どんなアプリケーションでもVim風にカーソル移動できるようにしよう。

Vim的カーソル移動の最大の利点はホームポジションから移動せずにカーソルを動かす事が出来る点にある。右Altは前述の通り親指で操作が可能なので、これが実現出来れば、矢印キーに指を持って行く必要が無くなる。

ノートPCならまだマシだが、以下の図のように、据え置きのフルサイズキーボード使ってるとカーソルが余りに遠い。

HHKBのような玄人キーボードはホームポジションから動かさずカーソル移動が出来るように考えられているが、アレはアレでユーザを選ぶ。

https://commons.wikimedia.org/wiki/File:ANSI_Keyboard_Layout_Diagram_with_Form_Factor.svgより借用

まあものは試しって事で、実際に設定してみよう。

実現方法

実現方法は、大きく分けて2ステップからなる。

  • キーマッピングの変更
  • Autohotkeyのスクリプト追加

右Altキーマッピングの変更

AltキーをAltキーのままにしておくと、hjklを押下したときに、Alt+hなど既にありそうなタダのキーボードショートカットが発火してしまう。ので、まずは右Altキーを、通常のキーボードレイアウトに存在しないキーコードに変えてしまおう。

オススメはChange Keyというツールを使う方法。詳しい人はレジストリから直接弄ってもいいです。(Change Keyを使っても結果的にレジストリが書き換わってるので、いずれも自己責任)

右Altを選んで、0xe059を直接入力する。

参考にさせて頂いたのはこちらのブログ。こちらの作者さんはIMEの切替キーとして利用されています。

再起動すると、右Altは0xe059として生まれ変わる。

Autohotkeyの設定

Autohotkeyのスクリプトに以下を書き込む。右Alt + Spaceで全角半角切替、というのも仕込んだが、こちらはあまり使っていない。

sc159 & h:: Send, {Blind}{left}
sc159 & l:: Send, {Blind}{right}
sc159 & k:: Send, {Blind}{up}
sc159 & j:: Send, {Blind}{down}
sc159 & Space:: Send, {vkF4sc029} ; 右Alt+Spaceで全角半角切替

これで、全てのツールをhjklで操作することができるようになった。矢印キーキャップは窓から投げ捨てよう。

なお、Autohotkeyを駆使すると、矢印キー以外にもホイールスクロールとか右クリックメニューとか設定できる。気がついたら私はここまでエスカレートしていた。ホイールスクロールは特にオススメ。

sc159 & 9:: Send, {Blind}{PgUp}
sc159 & 0:: Send, {Blind}{PgDn}

sc159 & `;:: Send, {Blind}{Home}
sc159 & ':: Send, {Blind}{End}
sc159 & /:: Send, {Blind}{Insert}

sc159 & ]:: Send, {Blind}{WheelDown}
sc159 & [:: Send, {Blind}{WheelUp}
sc159 & -:: Send, {Blind}{WheelLeft}
sc159 & =:: Send, {Blind}{WheelRight}
sc159 & o:: Send, ^{WheelDown}
sc159 & p:: Send, ^{WheelUp}

sc159 & ,:: Send, {Blind}{XButton1}
sc159 & .:: Send, {Blind}{XButton2}
sc159 & \:: Send, {AppsKey}

まとめ

Change KeyとAutohotkeyの組み合わせで、矢印キーを二度と触らなくても良くなる。

ついでにHome/Endとかホイールスクロールもホームポジションで制御出来るようになる。

そして、クリエイティビティ次第で、右Alt + 何か、という無限の可能性が生まれる。

Posted by 効率化好きな人 in productivity, 0 comments