0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ノートPCの外付としてUS配列キーボードを使う

Pythonのコーディングをするようになり、シングルクォーテーションの打ちやすさからUS配列キーボードを使うようになった。
普段ノートPCを使っているので、本体はJIS配列キーボード、外付がUSキーボードとなる。
Windowsの設定を101キーボードにしつつ、ノートPC本体のJIS配列でも十分使えるよう(無変換・変換キーを活かす)キーカスタマイズを考えた。

実現したいこと

  1. macと同様にスペースキーの左隣(JISキーボードでは無変換キー)をIME OFFに、スペースキーの右隣(JISキーボードでは変換キー)をIME ONにしたい
  2. CtrlキーはAキーの左にしたい

キーの割り当て

  • スペースの両側にあるAltキーを無変換キー・変換キー相当にする
  • 潰されたAltキーはその左隣のWinキーに割り当て
  • 今度はWinキーが潰されるので、右側の余っているキーに割り当て(右CtrlキーorAppキー)

方策

  • CtrlキーとCapslockキーはレジストリで入れ替え、それ以外は alt-ime-ahk や PowerToys 等のソフトウェアキーカスタマイズを併用することも考えたが、PCのスペックの問題からかキーを取りこぼすことが過去に起きたため、今回は使用しない。
  • レジストリのscancodeとGoogle日本語入力のキー設定で完結させる。

注意点

  • Linuxと違い、Windowsは101キーボードに設定すると、変換キー・無変換キーのキーコードがOSに送られてきても何もしない。scancodeで変換キー・無変換キーに相当するキーコードを割り当てても、変換キー・無変換キーとしては機能しない。
  • ただし、101キーボード設定であっても、変換キー・無変換キーはレジストリのscancodeを用いて別のキーコードに割り当て直すことができる。JISキーボードの変換キー・無変換キーも活用は可能である。
  • 変換キー・無変換キーの割り当て先とするキーは普段使用されることがないものが望ましい。Google日本語入力はF13・F14キーへ機能の割り当てが可能であることから、これらのキーに変換キー・無変換キーの機能を割り当てることにする(新しいバージョンのMicrosoft IMEや、ATOKでは割り当て不可)。

設定

  1. レジストリ
    場所は[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
    そこに Scancode Map の名前でバイナリ値を作成。
    以下の内容を16進数で続けて入力していく。

    Scancode Map (外付キーボードに合わせ最大限キーを変更した場合)
    00,00,00,00,00,00,00,00, # ヘッダ
    11,00,00,00, # フッダ含めたエントリー数(11)
    38,00,5b,e0, # AltLeft(3800)←WinLeft(5be0)
    5b,e0,1d,e0, # WinLeft(5be0)←CtrlRight(1de0)
    5b,e0,5d,e0, # WinLeft(5be0)←Apps(5de0)
    64,00,38,e0, # F13(6400)←AltRight(38e0)
    65,00,38,00, # F14(6500)←AltLeft(3800)
    1d,00,3a,00, # CtrlLeft(1d00)←Capslock(3a00)
    3a,00,1d,00, # Capslock(3a00)←CtrlLeft(1d00)
    64,00,79,00, # F13(6400)←変換(7900)
    65,00,7b,00, # F14(6500)←無変換(7b00)
    64,00,70,00, # F13(6400)←ひらがな(7000)
    00,00,00,00  # フッダ
    

    このレジストリ変更によって、外付キーボード(AKS068)とノートPC(Inspiron)は、それぞれこのようなキー割り付けとなる。
    us_aks068.png
    us_inspiron.png
    scanmapで右CtrlキーとAppキーの両方をWindowsキーに割り当てているが、手持ちの外付USキーボードの中には右Crtlキーが無くAppキーはあるというものがあるため。使用するUSキーボードに必ず右Crtlキーがあるなら、Appキーの部分を削ればAppキーの機能を活かすことができる。

    なお、他言語のIMの中には右AltキーをAltGrとして用いるものがあるため、それらの使用には支障が出ることに留意(JIS配列のノートPCには右Altキーの無いものが結構ある)。
     

  2. Google日本語入力
    F13に IME ON/ひらがな入力/カタカナ入力/再変換 、F14に IME OFF/カタカナ変換/全角英数変換 の各機能を割り当てていく。
    ノートPC用にひらがな/カタカナキー相当の機能を別途F15キーとして割り当ててもよいが、USキーボードのキー数を考えてF13に機能を集約したので別々のキー割り当てとはしなかった。

    Mode Key Command
    DirectInput F13 Activate IME
    Precomposition F13 Set input mode to Hiragana
    Composition F13 Set input mode to Hiragana
    Conversion F13 Set input mode to Hiragana
    DirectInput Shift F13 Activate IME
    Precomposition Shift F13 Set input mode to full-width katakana
    Composition Shift F13 Set input mode to full-width katakana
    Conversion Shift F13 Set input mode to full-width katakana
    DirectInput Ctrl F13 Reconvert
    Precomposition Ctrl F13 Reconvert
    Precomposition F14 Deactivate IME
    Composition F14 Deactivate IME
    Conversion F14 Deactivate IME
    Composition Shift F14 Switch kana type
    Conversion Shift F14 Switch kana type
    Composition Ctrl F14 Convert to full-width alphanumeric
    Conversion Ctrl F14 Convert to full-width alphanumeric

    Google日本語入力の設定画面がいつの間にか英語表記になってしまったので、日本語で解説すると以下のようになる。

    [F13] 直接入力:IME ON、入力文字なし・変換前入力・変換中:ひらがな入力
    [Shift+F13] 直接入力:IME ON、入力文字なし・変換前入力・変換中:全角カタカナ入力
    [Ctrl+F13] 直接入力・入力文字なし:再変換
    [F14] 入力文字なし・変換前入力・変換中:IME OFF
    [Shift+F14] 変換前入力・変換中:カタカナ変換
    [Ctrl+F14] 変換前入力・変換中:全角英数変換

    この機能割り当ては、F13を連打すると必ずひらがな入力に、Shift+F13を連打すると必ずカタカナ入力になる利点がある。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?