キーボードショートカット

右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
あふwとEverythingを連携して、ファイル検索をキーボードだけで完結させる

あふwとEverythingを連携して、ファイル検索をキーボードだけで完結させる

あふwという2画面ファイラと、Everythingというファイル検索ツールを連携する方法を備忘録兼ねて記載。

背景・やりたいこと

あふwは単体でも充分立派なソフトウェアで、フォルダ内の前方一致とかマスク検索であれば、単体でもできてしまう。しかし、部分・後方一致をしたり、フォルダジャンプ、となってくると、外部のツールを使いたくなってくる。

そもそも私があふwを知ったきっかけとなるこちらのブログではFenrirというツールが紹介されていたりもするのだが、(もう10年以上前の記事ですかー年取ったなー…)

せっかくなので、自分の好きなツールを使おう!

あふw側の設定

まずはあふwでファイルを探しに行くための設定をする。

{Everythingのファイルパス}\Everything.exe
{Everythingのファイルパス}\Everything.exe -search """"$P"""  "
{Everythingのファイルパス}\Everything.exe -search "parent:"""$P"""  "

一つ目のコマンドは、何も考えないでとりあえずEverythingを呼び出すときに使う。私はCtrl+Shift+Fに割り当てている。とあるフォルダにジャンプしたいときや、当てずっぽうに検索を始めたいときはこれ。

二つ目のコマンドは、あふwで今開いているフォルダを引数として渡して、その中身だけを検索する時に使う。フォルダまで絞り込めていて、その中身(更に子階層の場合も)を検索したい時はこっち。

とあるGitリポジトリのルートなんかで検索するときはこちらが便利。私の場合Ctrl+F。
末尾にスペースが入ってるところがミソで、これのおかげで、開いたEverything画面上でいきなりキーワードを入力し始められる。コレが無いとまずスペースをEverything側で入力しないといけない。

dotfiles直下で開いてみたパターン

三つ目は、現在のフォルダの中だけから検索したい時に使う。この場合子階層の中身は出てこない。

ここまでで、検索しに行くためのあふw側の設定までが出来た。

Everything側の設定

Everythingの検索結果から欲しいファイルやフォルダを見つけたら、そこ目がけてあふwに戻りたい。そのための設定をEverything側にする。

ちょっとまどろっこしいのだが、Everythingのキーボードショートカットも自在に変更可能なものの、動作については、決められた物から選ぶしかない。ので、少し複雑な設定が必要。

キーは何でも使えるけど、動作は既存のものから選べるだけ。

ぱっと見使えそうなのはOpen PathとかExplore Path。これをWindows 標準Explorerから差し替えられれば良さそう。

コンテキストメニューを設定する

と言うことでまずContext Menu設定画面からこのような設定をする。

$exec("{あふwのパス}\AFXWCMD.EXE" -l"%1")

Open Pathというメニューのコマンドに上記を設定する事で、「Everythingでカーソルが当たっているファイルのフォルダをあふwの左窓で開く」が実現出来る。

しれっとあふこまんどを使っています。公式サイトからダウンロードください。

同じ要領で、Explore Pathのコマンドに以下を設定しよう。

$exec("{あふwのパス}\AFXWCMD.EXE" -r"%1")

キーボードショートカットを設定する

上記ができたら、Keyboardメニューに戻って、好きなショートカットを設定しよう。

Open Pathに対しては矢印キー左(とvimmer的にH)

Explore Pathには、矢印キー右(と当然L)を設定した。

設定できたら、Everythingの検索結果上で実際に左右入力してみて、あふwに戻ってこられるか試してみよう。

結果

ここまでやると、あふw⇒Everything⇒あふwが、シームレスに連携できる。コマンドラインに渡せば何でも出来るのは本当に便利。

Posted by 効率化好きな人 in productivity, 0 comments
Everything 爆速ファイル検索ソフトウェア

Everything 爆速ファイル検索ソフトウェア

Everything (https://www.voidtools.com/)というファイル検索ソフトウェアを紹介

おぼろげにでもファイル名を覚えてたら、無くしたファイルも見つかるかも。

製品特長

ファイル検索ソフトウェアで、キーボード操作派には次の様なメリットがある

  • ファイルパスからもファイル名からも検索が出来て、とにかく早い
  • キーバインド変更可能
  • コマンドラインからの呼び出しと、他プログラムの呼び出し可能(あふx連携に必須)
  • 常駐サービスとして登録できるので、一瞬で呼び出せる

以下はYoutubeで見つけたデモ。インド英語の練習にもなるよ。そんなになまってないけど。

https://www.youtube.com/watch?v=pUQh2DY3kms

操作例

試しにOfficeソフトウェアのexeファイルってどこにあるんだったっけ、、と検索してみた。windowを開いて、”program files office exe”と入力していくと、1文字入力するごとに検索結果が変わり、最終的に以下の様な結果になった。

初期設定

まずは、いつ呼び出してもすぐ検索が開始出来る臨戦態勢になるように、OptionからEverything Serviceにチェックを入れる。

試してないけどLanguage見ると日本語もあるね。

UIセクションで、Run in backgroundにもチェック

あとは検索のさじ加減とか表示形式とか、キーボードショートカットとか変更可能。

あふxとの連携は別記事で記載予定。

まとめ

Everything というツールを使うとwindows explorerのファイル検索には戻れなくなる。

インストール不要なのも素敵。

Posted by 効率化好きな人 in productivity, 0 comments
クリップボードの履歴をWin + V で呼び出す

クリップボードの履歴をWin + V で呼び出す

短めの記事。Windowsのクリップボード拡張機能。

Windows 10時代にリリースされてしばらく経つ超便利機能であるものの、まだあまり知られていない気がするのでシェア。

URLをコピーして、貼り付けてー、画像をまたコピーして貼り付けてー、といった作業を繰り返していると、「あ、、一つ前にコピーした内容をまた貼り付けたい…」と思うことたくさんあると思う。そんな時にWin + Vを押下してみると…

ちなみにスクリーンショットはWin + Shift + Sで取れる

なんとこれまでCtrl + Cでクリップボードにコピーした履歴が一覧表示される。過去コピーした内容をペーストしたい場合はこの中から選べばOK。

画像も履歴に残るし、ピン留めも出来るし、これで満足。クリップボード拡張ソフトは最早不要である。


Posted by 効率化好きな人 in productivity, 0 comments
Teams/Zoom等Web会議システムで、Pauseキーをトグルミュートとして使う

Teams/Zoom等Web会議システムで、Pauseキーをトグルミュートとして使う

在宅勤務でWeb会議増えがちなのでWeb会議システムに依らず物理ボタン1つでミュートオン/オフをトグルする事ができる方法を考えた。一言で言うとPauseキーとAutohotkeyを使う。

在宅勤務が続いて、国内の人ともZoomやMicrosoft Teams で会議をすることが増えた。Web会議でありがちなのは、ミュートし忘れ・解除し忘れだ。コレ自体を防ぐには今のところ「気を付ける」しか方法がなさそうであるが、いかんせんトグルミュートのキーボードショートカットキーは使いづらいし、アプリによってまちまちだ。

アプリによってミュートのキーボードショートカット違うのが(しょうがないんだろうけど)やはり気に入らない。直感的に切替える方法は無いものか、とキーボードに目をやると、そこにはPauseキーが!!!

US配列87キー。テンキーがあるとマウスが遠くなるからだめ。

そういえば何に使うのこれ、、と思って調べてみると、、

プログラムの暴走を止めたり、役に立つ情報を表示したりと、たまには便利な使い道があるようです。

https://sittoku.net/pause-break-key.html

うん、潰して良さそうだ…

ということで、効率化マニア御用達のAutohotkeyを使って、ZoomでもMicrosoft TeamsでもPauseキー1ボタンでトグルミュートが出来るスクリプトを作った。ついでにディスコンが決まっているSkype for Businessも仲間に入れてあげた。

; Unify "Toggle Mute" across all video conference apps
Pause::
if ( WinActive("ahk_class ZPContentViewWndClass")  ){
	Send, !a ;Zoom
}else if ( WinActive("ahk_exe Teams.exe") ) {
	Send, ^+m ; Microsoft Teams
}else if ( WinActive("ahk_exe lync.exe") ) {
	Send, #{F4} ; Skype for business
}

ちなみに、

  • Zoomのミュートは[Alt] + A
  • Microsoft Teamsのミュートは[Ctrl] + [Shift] + M
    • さっとググったらWebExも同じっぽい
  • Skype for businessは[Win] + F4

WinActive関数の中に対象のウィンドウを突っ込めば、アプリケーションに応じて別のキーを送る事が出来るようになる。(ところでSkype for businessのキーボードショートカットセンス悪すぎない?)

アプリケーションの中でも特定のウィンドウを指定したい場合はahk_class、ざっくりアプリケーションが特定できていれば良ければ、ahk_exeを使う。

ahk_classやahk_exeに何を設定したら良いかは、AutoHotKeyのWindow Spy画面を呼び出すと分かる。

WebExあんまり使わないので、何て出てくるか誰か教えてください…

蛇足

AutoHotKeyはWindowsユーザには神ツールで、アイディアさえあればいろんな事に使える。

右Altが要らないのでクリップボードの英語を一発でGoogle翻訳するのに使う(DeepLも対応)

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

以下は昔からある、「Web会議あるある」の古典ムービー。自分が知ったのはこれ出た当時だけど、今見ても良く出来てると思う。

Posted by 効率化好きな人 in productivity, 0 comments
クイックアクセスツールバーを使い倒す極意と設定のコツ 序章

クイックアクセスツールバーを使い倒す極意と設定のコツ 序章

Office製品に備わっているクイックアクセスツールバーをご存じだろうか。

これを使うと、Officeのどんな機能もキーボードショートカットに魔改造することができる。

私のパワポのクイックアクセスツールバー

Office製品で[Alt]キーを1回押下すると、上図のような黄色いナビゲーションが出てくる。あとはナビゲーションの指示に従って順にキーボードを入力していけば、目指すボタンを押したのと同じ効果が得られる。

[Alt]の次に数字の1を押した例

そこで、よく使う機能をこの領域に並べることで、ほぼ全ての機能をキーボードだけで完結することが出来るようになる。

設定方法

並べたい機能をリボン上で右クリックして、「クイックアクセスツールバー」に加えるだけ。

日本語だと「クイックアクセスツールバーに追加」

並び順を変えたければ、「クイックアクセスツールバーのユーザー設定」を開くとポチポチカスタマイズする事が出来る。

英語版でいつもすみません…

この画面から既存設定のインポート・エクスポートも出来るので、githubのdotfiles(もしくはその辺のクラウドサービスでも十分なんだけど)にでもぶち込んでおけば、新しいWindowsマシンをセットアップする際も一瞬で全ての能力を継承することができる。

応用例

例えばPowerPointで、なんだか知らないが3つの案「松」「竹」「梅」を並べたスライドを作る場合。下図左のダメな例は少し誇張しすぎている感もあるとは言え、世にはこの状態のスライドが溢れている。これでは世界は平和にならない。ダメなポイントは以下である。

  • 「案」の文字が左にビミョーにずれている
  • 「梅」案の箱も若干右にずれている
  • 松竹梅が等間隔に並んでいない
赤い点線は解説のためだけに入れている

これを右のようにピシッと並べたい。慣れるとこの作業は1秒くらいでできる。

私の場合、こうする。

  • 「案」「松」「竹」「梅」の4オブジェクトをマウスで選択する。
4つのオブジェクトが選択されている
  • [Alt] –> 1 –> C で、まずは左右中央揃えをする。するとこうなる。
まずはコイツ
とりあえず縦の並びが揃った
  • 次に[Alt] –> 1 –> V で、オブジェクトを上下に整列する。
次はコイツ
スッキリ

これで、松竹梅が無事等間隔に並んだのがお分かりいただけるだろうか。「オブジェクトを選択する」事に一番時間が掛かるくらいだ。[Alt] –> 1 –> C –> [Alt] –> 1 –> Vは流れるように入力できる。

設定のコツ・考察

私は以下の様な事をいつも意識しながらクイックアクセスツールバーのアイテムを管理している。

  • キーボードショートカットキーやアクセスキーが最初から存在する機能はなるべく使わない
  • どのオフィスソフトでも使う共通的な機能(例えばフォントサイズ)はなるべく同じ数字の所に並べる
    • 例: 私の場合、WordでもExcelでもPowerPointでもOutlookでも[Alt] –> 2は、フォントサイズの指定
  • 一番使う機能上位9個を厳選する
    • なぜならば、10個目からはアクセスキーが[09]のように二桁になってしまうから
  • ドロップダウンで更なる条件が選択できる場合はなるべくメニュー自体を登録する(上記応用例のように)
    • 例: 「左揃え」だけでクイックアクセスツールバーの貴重なスペースを一つ消費してしまうのはもったいないし記憶しきれない。そこで、「配置」メニュー自体をクイックアクセスツールバーに登録する。そうすると、サブメニューとして、左なり右なり、次のキーボードで打ち込むことができる。
    • と言いながら自分も「最前面に配置」などは1個消費してるが…
  • Officeの表示言語は英語の方がキーを覚えやすい。特に上記の「配置」のように、サブメニューがあるとき。
左右中央揃えが(C)enterって覚えられなくない?
  • ちなみに、ある方法を使うとマクロ機能もクイックアクセスツールバーに割り当てることができる。(ある方法についてはそのうち別ポストで書きます)
  • ちなみにMacのクイックアクセスツールバーはクソ。最近になってある程度自由度が増したようだが、上述の[Alt]からのアクセスキー攻撃に全く対応していない。私が会社のパソコンをMacにしないのは、ただ一つこのクソ仕様のせい。
Posted by 効率化好きな人 in productivity, 0 comments
Winキー + 数字キーでよく使うアプリを秒で行き来する

Winキー + 数字キーでよく使うアプリを秒で行き来する

Winキー + 数字キーを使うと素早くアプリケーション切替が出来るよ、というおはなし。

想定シチュエーション

Windowsでアプリケーションを遷移するときのキーボードショートカットとしてメジャーなのは、[Alt] + [Tab]。これは当然よく使う。

このキーボードショートカットが強力なシナリオは、今さっき開いてたウィンドウに戻るとき。例えば、ブラウザの何かをコピーして、Excelに貼り付けて、もう一回ブラウザに戻って、、を繰り返すようなとき。

Alt + Tabのスクリーンショットを取るのに苦労した

Windowsで仮想デスクトップを使う人は、[Win] + [Tab]派の人もいるかもしれない。こちらの方が視認性が高いものの、何となく描画が遅い。。

さて、それでは例えば、PowerPointとExcelを行き来してプレゼンとかを作ってて、「あれ次の会議何時からだっけ?(Outlookを見たい)」みたいな時にはどうするか。

こんなときにつかえるのが[Win] + 数字キーである。

私のタスクバー

[Win] + 数字キーを押すと、タスクバーの並びにあわせて、対応する数字のところにあるアプリケーションを最前面に表示してくれるのだ。私の場合1のところにChrome, 2のところにあふwといった具合だ。

つまり、[Win]キーとの組み合わせることにより、自分が最もよく使うアプリケーション10選を秒で呼び出すことが可能になる。もちろん順番を覚える必要はある。

事前準備

このキーボードショートカットを効率的に使うために、自分のアプリ10選を、タスクバーにピン留めしておこう。

よく使うアプリをタスクバー上で右クリックして、ピン留め。そして、タスクバー上のアイコンをドラッグすると、並び順を変えられる。

日本語は「タスクバーにピン留めする」だったと思う

仕事中にヤフーニュース見てる不良社員も、これで瞬時にOutlookに画面を切替えることが出来る。

留意事項

当然、1のところにChromeを配置した、というのは記憶しておく必要がある。

そして、0よりも右にピン留めしても(10個以上ピン留めしても)、それらは今回のキーボードショートカットで呼び出すことは出来ない。取捨選択が大事。(と言っても多くの人は10個あれば大体足りると思う。)

その他タスクバーの効率化着眼点

  • このキーボードショートカットを直感的に利用するためには、タスクバーは上か下に配置したほうが良いと思う
  • 1, 2, 3くらいまでは左手だけでWinキーを押しながら行ける。ブラウザ、ファイラ、メールが不動のクリーンナップだと思う
  • アプリケーションの表示領域を最大化するためにはアイコンは小さくするべし(Windows 11だと標準ではできなくなった)
  • デフォルトで表示されている検索ウィンドウは消そう。

まとめ

キーボードショートカット [Win]キー + 数字キー を使うと、タスクバーに並んだアプリを秒で呼び出すことができる。

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