kotonoha_pcg@気ままに雑記

kotonoha_pcgが気分次第で様々書き置きます.dlang関係他:http://kotonoha-pcg.hatenadiary.com

Ule4Jisを使って日本語IMEのままUSキーボードを使う

今回もタイトル通りの内容です。

1月に買ったThinkPad X1CGen9ですが、いろいろあって結局テレワーク専用機になってしまいました(汗

それで嫌々しかたなくWindowsが入っているSSDに換装し直し使っていますが、家とオフィスでは外付けキーボードの配列がそれぞれ異なり、さらにこのX1CはJIS配列なんですよね…

ということで、ネットの海を探し回っていたらUle4Jisなるものを見つけました。

要はJIS配列のキーボード入力を、US配列のキー入力でオーバーラップして(違ってたらすみません)US配列でキー入力が出来るようになるというものなのですが、一度起動するとアイコンがタスクバーに表示され、停止/再起動/再開なんかが行なえます。

ただ…いちいちタスクバーにtrackpoint伸ばすの面倒くさいじゃないですか…ということで、似たような発想をした先人の方がいたようです。

blog.ikappio.com

で、この中のスクリプトを動かすのが今回の目的なのですが…面倒くさがりなので今の今まで放置しちゃいましたテヘペロ

そんでもって、一応実行できるようにはなっていますが、どうせならショートカットキー的なもので呼び出したい… でもショートカットキーじゃ忘れやすいし、アプリによっては別な割当があったりしそう…ということで、ここに来てpowertoysの出番です。

powertoys経由で実行できるように

powertoys(v0.56.2)を起動すると、PowerToys Runてのが左側の一覧にあるので、そこから有効化します。さらに、アクティブ化のショートカットをAlt+Spaceに変更し、集中型キーボードフックを使用するにチェック。 これで、Alt+SpaceでいつでもPowなんちゃらRunを呼び出せるようになります。

で、先の先人のスクリプトこぴぺ模写したものに、Pow(ryで呼び出しても大丈夫なように変更したのが次のもの。

@echo off

cd {実行ファイルが置かれているディレクトリへのフルパス}

set path_ule4jis=%CD%"\Ule4Jis.exe"

tasklist | find /I "ule4jis"

if %ERRORLEVEL% equ 1 (
    echo "ule4jisは起動してないので起動"
     start %path_ule4jis%
) else (
    echo "ule4jisは起動中なのでkill"
    taskkill /im ULE4JIS.exe
)

これですが、最初に実行ファイルが置かれているディレクトリへのフルパスを指定してあげないと、おそらくPowertoysの実行ディレクトリでバッチ処理が始まってしまうので、こうするほうが良いみたいです。

さらpath_ule4jisにの部分、これも%CD%抜きだと上記のフルパスにあるディレクトリをcmdで開くだけになるので、入れてあります。 あとは先人の恩恵を頂いておりますが…w

これで、あとはAlt+SpaceでPowerToys Runを実行し、先のスクリプトを指定してあげるといちいちエクスプローラとかスタート画面からクリックしたり、ちっちゃいタスクバーのちっちゃいアイコンをクリックしたりしなくて済みます。

とまぁ、たったこれだけのために一本記事残しときますw