【自作キーボード】ん〜〜。だめかな〜〜〜。やっぱり。

OS側が日本語キーボード設定ののまま、USキーボードを繋いで使うことを想定したキーマップを考えてみたけど、これはなかなかややこしくて。

つまり。まあ、いまから当たり前のことを書くのだが、つまりね

要するに。

 

f:id:komb:20200625210600j:plain

これ。USキーボード。宇宙一カッコいいやつな。

 

そんでこれ。

f:id:komb:20200625210606j:plain

日本語キーボードな。

 

今、宇宙一カッコいいキーボードを繋いでるわけなんだが、OS側で、日本語キーボード繋いでることになってるから、シフト+2のキーを押すと、

f:id:komb:20200625210601j:plain

@(KC_AT)が出てきてほしいんだが、日本語キーボード繋いでることになってるわけだから、

f:id:komb:20200625210607j:plain

” (KC_DQUO)が出ちゃう。

 

てことは、@を出したいときは、逆に、日本語キーボード@の位置にあるキー、

f:id:komb:20200625210608j:plain

Pの隣のこのキー。このキーが押されたことにするしかない。

 

えーと。USキーボードで、このPの隣にあるキーは・・・

f:id:komb:20200625210602j:plain

これか! { (KC_LBRC)。

 

という要領で、keymap.cをいじっていく。

 

見様見真似で、もともとあった、

 

  [1] = LAYOUT・・・

 

以降のフレーズをコピーして、

 

  [2] = LAYOUT・・・

 

として、一個一個書き換えていく。

そして、このフェイクシフトレイヤーを、左シフトキーに割り当てる。 

 

そんな感じで、見つけてったキーコードがコレ。

 

1:KC_EXLM US・・・! →JIS・・・!

2:KC_LBRC US・・・{ →JIS・・・@

3:KC_HASH US・・・# →JIS・・・#

4:KC_DLR  US・・・$ →JIS・・・$

5:KC_PERC US・・・% →JIS・・・%

6:KC_EQL  US・・・= →JIS・・・^

7:KC_CIRC  US・・・^→JIS・・・&

8:KC_DQUO US・・・” →JIS・・・*

9:KC_ASTR US・・・* →JIS・・・(

0:KC_LPRN US・・・( →JIS・・・)

 

なんか、この作業、やっぱり無理があるなあと違和感を感じつつも、乗りかかった船なので、とりあえず、続けていくと、アンダーバーでつまづく。USキーボードには無いの。日本語キーボードのアンダーバーの位置にあるキーが。物理的にない。

f:id:komb:20200625210609j:plain

ほら。ここ。右シフトの一個ひだり。Mの4つ右。

 

f:id:komb:20200625210603j:plain

ここは、右シフト(写真ではDELキと入れ替えちゃってるけど)だから。

 

 

やっぱり素直にOS側で、USキーボード 設定にしたほうが良さそう。

あとね。フェイクシフトレイヤーでキーの配置は上手く行ったとしても、例えば、シフト押しながら矢印キーで選択、とか、エクセルだのワードで無意識に多用してるわけ。これはフェイクシフトレイヤーでは実現できない。出来なさそう。

 

ということで、諦めました。

 

となると、アレだな。USキーボード設定にしたとき、全角半角切り替えが出来ない問題を解決しなきゃなんない。