2023年9月1日金曜日

日本語キーボード設定の会社のPCでVIA対応の英語キーボードを使いたい

 こんばんわ

2024/03/01 追記「日本語配列のPCに接続しても大丈夫な英語配列キーボードにする」という記事に、より自然に利用できるようにSHIFTキーにLayerキーを割り当ててしまう方法を書いていますので、好みの方の設定をやってみてください。

タイトルを見ると何を言いたいんだ!?と思われるかもしれません。はじめにお断りしておきますと、とても分かりにくく、ぐちゃぐちゃな文章で、間違いもあるかもしれませんが、ご容赦ください。

どうしてもUS配列(ANSI配列)のキーボードが使いたいのだけれども、会社のPCが日本語配列で設定されていて、US配列に設定変更できないのため、入力できない記号があって困っているのだけれども、VIAに対応したUS配列のキーボードなら何とかなるのではないか?という話です(普通に考えれば、日本語キーボードを買うのが一番いいと思います)。

具体的に日本語配列しか設定できないPCにUS配列のキーボードをつなぐと何が困るかというと、「¥」(円マーク)、「_」(アンダースコア)、「|」(パイプ)などの記号た簡単に入力できなくなります。なると思います。。。自信なし。。。

ほかの記号は、簡単にというわけではありませんが、代わりのキーを押すことで何とか入力できるはずです。

例えば、「@」(アットマーク)を入力するには、「p」キーの横の「「」と印字されたキーを押せば出ると思います。

「’」シングルクォートは、シフトキーを押しながら「7」と印字されたキーを押せば入力できます。

ただ、「¥」(円マーク)は代わりのキーがわかりません(ものすごく調べてないのでもしかしたら探せばあるのかも。。。)。本来「¥」(円マーク)が入力されるはずの、「enter」キーの上、「backspace」キーの下にある、「|¥」キーを押すと、「」」(括弧閉じ)が入力されてしまいます。

日本語配列キーボードでは、「0」キーと「backspace」キーの間に3つキーがありますが、US配列のキーボードでは、2つしかキーがありません。「¥」(円マーク)は、本来その足りないキーに割り振られているため、US配列のキーボードでは、代わりのキーがないのかもしれません。

あと、「_」(アンダースコア)もそうです。日本語キーボードの場合は。「?」キーと「shift」キーの間に「_」キーがあるのですが、US配列では物理的にそのキーがありません。どこか代わりの場所を押せば入力されるのかと思っていろいろ押しているのですが見つかりません(ないと思います。。。実はできるのかも。。。)。

ということで、そもそもJIS配列のキーボードとして動作しているWindowsが期待している「¥」(円マーク)や、「_」(アンダースコア)に該当するキーコードは、US配列のキーボードから送信されてくることはないのかもしれません。なぜならばそのキーがないからかもしれません。すべての発言が自信なし。

こちらの詳しい話を知りたいという方は、「(初心者編)VIAを使ってキーマップを書き換えよう」というサイトでとても詳しく書かれていますので、そちらを参照してください。US配列のキーでJIS配列のキーコードを送るにはどうするかというようなことも詳しく書かれてします。

VIA対応のKeychron V4 では、キーマップを変更したり、キーを押したときのキーコードを変更したりすることができますので、この機能を利用したら何とかできないかと頑張ってみました。

まず初めに、Windowsレイヤにレイヤ4を使用するためのキーをマップします。私の場合は、右下から二番目のキーに割り当てました。MO(4)です。


次に、レイヤ4を以下のように設定します。

まず、「アンダースコア」です。「backspace」(バックスペース)から左に二つ目のキーに「S(KC_RO)」コードを割り当てました。

次に「¥」(円マーク)ですが、「backspace」1つ左のキーに「KC_JYEN」コードを割り当てます。

この割り当てで、「MO(4)」キー(一番右下から2番目のキー)を押しながら、「backspace」キーの二つ左を押すと、「アンダースコア」が入力されて、同様にして「backspace」キーの一つ左を押すと、「¥」(円マーク)が入力できるようになります。

もう一つ。「backspace」(バックスペース)キーの一つ下のキーに「S(KC_JYEN)」を割り当てて、「MO(4)」キーと同時に押すと「|」(パイプ)が入力されるようにしました。右の方のキーを押すときはちょっと窮屈なので、左下のLeftCtrlキーも同じ機能「MO(4)」にしてもいいかもしれません。

ついでなので、そのほかの記号も「MO(4)」レイヤに割り当てていきます。

左上ESCの右のキーから順番に設定値を以下に示します。あ、書き忘れたのですが、キーコードを指定するには、「SPECIAL」という項目から「Any」を選択したくとダイアログ開きますので、そこにコードを入力します。




以下のように設定すると、記号を入力するときはSHIFTキーを押す代わりに、「MO(4)」キーを押しながらキーを押すと、キートップに書かれている記号が入力されると思います。

1行目
1:S(KC_1)
2:KC_LBRC
3:S(KC_3)
4:S(KC_4)
5:S(KC_5)
6:KC_EQL
7:S(KC_6)
8:S(KC_QUOT)
9:S(KC_8)
0:S(KC_9)
ー:S(KC_RO) / KC_RO  <- S(KC_RO)ができないものがありました。
^:S(KC_SCLN)


2行目
「:KC_RBRC
 」:KC_NUHS
¥:KC_JYEN

3行目
;:KC_QUOT
”:S(KC_2)

4行目
、:S(KC_COMM)
。:S(KC_DOT)
・:S(KC_SLSH)

やっている最中にも、VIAの画面上に表示されるキャラクタと、入力されるキャラクタが異なりますので、動作確認しながら「あれ?あれ?」みたいになりながらやっていたので、もしかすると間違いがあるかもしれませんが、これで、SHIFTキーの変わりに「MO(4)」キーを押しながら記号のキーを押すと、本来SHIFTキーを押したときに入力される記号が入力されるようになっていると思います。何を言っているのかよくわからなくなりそう。。。

思い切ってSHIFTキーをMO(4)にして、アルファベットも全部定義したらもっと自然に入力できるのかな。。。Zのキーであれば、LSFT(KC_Z)(またはS(KC_Z))、XならばLSFT(KC_X)(またはS(KC_X))とひたすらやっていけばよいかもしれません。。。いや、SHIFTで範囲選択とかする時に不都合が。。。

VIAに対応しているキーボードは全部設定してしまおうと思ってやっていたのですが、、Keychron v4 以外のキーボードではS(KC_RO)が指定できないものがありました。KC_ROに設定して、SHIFTキーを同時に押すことにしました。どのキーコードを発生させられるかは、FirmWareに依存しているのかもしれません。まだまだ勉強不足ですね。

こんなことしないで、言語の設定で英語を作って、キーボードをUS配列にして、特別な文字を入れるときは、ALT+SHIFTで英語モードに切り替える方がよいのかもしれない。。。とか。。。全角の¥とか_とか|とかは単語で登録してしまえば。。。とか。。。あぁ!やっぱり日本語キーボードをつけるのがいいかもです。









0 件のコメント:

結局 Kindle にケースを買いました。

 こんばんわ 私、最近ほとんど外出しなくなったのですが、妻の買い物に一緒に行って、ぼけーっと待っていたり、病院に行ってぼけーっと待っていたりする機会が多くなり、なんなら家でもボケーっとしていることが非常に多くなったためか、Kindleの出番が結構ありそうです。 前回、タブレットで...