キーカスタマイズ2020年版:その5 テンキー

 テンキーのキーの表記は、[Num 1]のように「Num」を付けることにします。[Num 1]と書いたらテンキー側の1のキー、[1]と書いたらフルキー側(文字キーなどがある方)の1のキーのことです。

テンキーにも[BackSpace]を 
※重要度★★★★★

キーボード図。テンキー、[Num +]を[BackSpace]にする等のカスタマイズ。

テンキー
  • [Num +] → [BackSpace]
  • [NumLock] → [Num +]

 [BackSpace]の項目で、「[BackSpace]の位置の改善はすべてのキーカスタマイズの中で最も重要」と書きました。テンキーにおいても[BackSpace]が押しやすいことはとても重要です。テンキーの入力でタイプミスすることももちろんあります。ミスタイプのたびにフルキー側の[BackSpace]を押しに行くようでは、テンキーの魅力半減です。

 そこで、テンキーの中でも大きくて押しやすいキーである[Num +]を[BackSpace]にします。これでテンキーの使い勝手が大幅に向上します。

 [Num +]は[NumLock]の位置に移動します。「+」は四則演算子の中では最もよく使うのでもう少し良い位置に置きたい感じもしますが、数字と比べると重要度ははるかに低い。移動するキーが少なくて済むことを優先します。

 [NumLock]は使わないので廃止します。

[Num 0]をモディファイヤにしてテンキーを多機能に 
※重要度★★★☆☆

  • [Num 0] → [Num 0 & Mod5]

 [Num 0]はテンキーで唯一の親指担当キーで、他のどのキーとも同時に押しやすい。[Num 0]をワンショットモディファイヤにすることで、テンキーでできる機能を大幅に増やすことができます。

 ただし、この方法は問題がないこともありません。[Num 0]をワンショットモディファイヤにすると、[Num 0]を押したまま他のキーを押した場合にモディファイヤの誤入力になってしまうのです。例えば――「01」と入力しようとして[Num 0] [Num 1]と素早く押すと、しばしば[Num 0]を離す前に[Num 1]を押してしまって[Mod5] + [Num 1]の入力になってしまう――という事態が生じます。

 というわけで、この設定を使う場合は、[Num 0]の入力の際に注意が必要です。これが煩わしいと感じる方は、この設定は向かないでしょう。自分としては、数字を間違いなく入力しようとすればおのずと1キーずつ確実な打鍵をするので誤入力になることはない。テンキーが多機能になるメリットの方が大きいと思います。*1 

テンキーカーソル 
※重要度★★★☆☆

キーボード図。[Num 0]を押した場合のテンキー図。

[Num 0]を押下した場合のテンキー
  • [Num 0] + [Num 8] → [↑]
  • [Num 0] + [Num 5] → [↓]
  • [Num 0] + [Num 4] → [←]
  • [Num 0] + [Num 6] → [→]

 まずは矢印キーを設定します。数字を入力しているときでも、カーソル移動をしたいことは多いです。

 もともとのテンキーの機能として、NumLockを外しテンキーを矢印キーとして使うこともできますが、「[NumLock]を押す→カーソル移動する→[NumLock]を押す」という操作はとても面倒です。[Shift] + [テンキー]でもカーソル移動はできますが、テンキーに[Shift]はないので、この設定の方が楽に使えます。

 それに、[↓]として使うキーは、[Num 2]より[Num 5]の方が使いやすいと思います。

テンキー編集キー 
※重要度★★☆☆☆

  • [Num 0] + [Num 7] → [Home]
  • [Num 0] + [Num 1] → [End]
  • [Num 0] + [Num 9] → [PageUp]
  • [Num 0] + [Num 3] → [PageDown]

 カーソルをジャンプさせるキーもあった方が良い。これはNumLockを外したときと同じ配置にします。ちょうどキートップに印刷されているし。

テンキー機能キー 
※重要度★★☆☆☆

  • [Num 0] + [BackSpace](元[Num +]) → [Delete]
  • [Num 0] + [Num -] → [Tab]

 数字の入力をする際によく使う機能を配置します。入力を修正するときは[Delete]はよく使います。[Tab]は『Excel』で右のセルに移動したり、入力フォームで次の入力欄にフォーカスを移すなどに使います。 

テンキー記号入力 
※重要度★★☆☆☆

  • [Num 0] + [Num 2] → 「:」
  • [Num 0] + [Num .] → 「,」
  • [Num 0] + [Num +](元[NumLock]) → 「¥」
  • [Num 0] + [Num /] → 「(」
  • [Num 0] + [Num *] → 「)」
  • [Num 0] + [Num Enter] → 「 」(半角スペース)

 「,」「¥」「:」「(」「)」「 」(半角スペース)の記号類6種をテンキーで入力できるようにします。数字と共によく使う記号なのでテンキーの使い勝手が良くなります。

 ところで、『ATOK』には「テンキーからの入力を必ず半角にする」「確定文字で入力する」という機能があります。これはテンキーの威力を倍増させる便利な機能です*2。しかし、本来のテンキーの入力は半角確定文字で入力できても、「テンキー記号入力」の入力は全角になるというのでは台無しです。

 そこで、テンキー記号入力は「IMEがOFFだったらそのまま入力。IMEがONだったら、IME OFFにして、入力して、IME ONにする」という動作をします*3。これで、テンキーからの入力は数字でも記号でも必ず半角確定文字で揃えることができます。

『のどか』設定ファイル

# 【テンキー】

# ◆単打側					●元のキー		●変更後のキー
def subst *NumPlusSign		= *BackSpace	# [Num +]		[BackSpace]
def subst ~M2-*NumLock		= *NumPlusSign	# [NumLock]		[Num +]

# ◆[Num0]を押しながら(文字は半角確定文字)	●元のキー		●変更後のキー
mod Mod5			+= !!Num0	# [Num 0]		[Num0 & Mod5]
key R-*Num0			= &Ignore
key M5-*Num9			= *PageUp	# [Num 0] + [Num 9]	[PageUp]
key M5-*Num8			= *↑		# [Num 0] + [Num 8]	[↑]
key M5-*Num7			= *Home		# [Num 0] + [Num 7]	[Home]
key M5-*Num6			= *→		# [Num 0] + [Num 6]	[→]
key M5-*Num5			= *↓		# [Num 0] + [Num 5]	[↓]
key M5-*Num4			= *←		# [Num 0] + [Num 4]	[←]
key M5-*Num3			= *PageDown	# [Num 0] + [Num 3]	[PageDown]
key ~IL-M5-*Num2		= ~S-*Colon	# [Num 0] + [Num 2]	「:」
key IL-M5-*Num2			= &SetImeStatus(off) &Wait(5) ~S-*Colon &Sync &SetImeStatus(on)
key M5-*Num1			= *End		# [Num 0] + [Num 1]	[End]
key ~IL-M5-*NumFullStop		= ~S-*Comma	# [Num 0] + [Num .]	「,」
key IL-M5-*NumFullStop		= &SetImeStatus(off) &Wait(5) ~S-*Comma &Sync &SetImeStatus(on)
key ~IL-M5-*NumPlusSign		= ~S-YenSign	# [Num 0] + 元[NumLock]	「\」
key IL-M5-*NumPlusSign		= &SetImeStatus(off) &Wait(5) ~S-YenSign &Sync &SetImeStatus(on)
key ~IL-M5-*NumSolidus		= S-*_8		# [Num 0] + [Num /]	「(」
key IL-M5-*NumSolidus		= &SetImeStatus(off) &Wait(5) S-*_8 &Sync &SetImeStatus(on)
key ~IL-M5-*NumAsterisk		= S-*_9		# [Num 0] + [Num *]	「)」
key IL-M5-*NumAsterisk		= &SetImeStatus(off) &Wait(5) S-*_9 &Sync &SetImeStatus(on)
key M5-*NumHyphenMinus		= *Tab		# [Num 0] + [Num -]	[Tab]
key M5-*BackSpace		= *Delete	# [Num 0] + 元[Num +]	[Delete]
key ~IL-M5-*NumEnter		= Space		# [Num 0] + [Num Enter]	「 」(半角スペース)
key IL-M5-*NumEnter		= &SetImeStatus(off) &Wait(5) Space &Sync &SetImeStatus(on)

# ◆IMEオンでも確定文字で入力する ※『ATOK』ならIMEの機能でできるので必要ない
# key IL-~M5-*Num9		= &SetImeStatus(off) &Wait(5) *Num9		&Sync &SetImeStatus(on)
# key IL-~M5-*Num8		= &SetImeStatus(off) &Wait(5) *Num8		&Sync &SetImeStatus(on)
# key IL-~M5-*Num7		= &SetImeStatus(off) &Wait(5) *Num7		&Sync &SetImeStatus(on)
# key IL-~M5-*Num6		= &SetImeStatus(off) &Wait(5) *Num6		&Sync &SetImeStatus(on)
# key IL-~M5-*Num5		= &SetImeStatus(off) &Wait(5) *Num5		&Sync &SetImeStatus(on)
# key IL-~M5-*Num4		= &SetImeStatus(off) &Wait(5) *Num4		&Sync &SetImeStatus(on)
# key IL-~M5-*Num3		= &SetImeStatus(off) &Wait(5) *Num3		&Sync &SetImeStatus(on)
# key IL-~M5-*Num2		= &SetImeStatus(off) &Wait(5) *Num2		&Sync &SetImeStatus(on)
# key IL-~M5-*Num1		= &SetImeStatus(off) &Wait(5) *Num1		&Sync &SetImeStatus(on)
# key IL-~M5-*Num0		= &SetImeStatus(off) &Wait(5) *Num0		&Sync &SetImeStatus(on)
# key IL-~M5-*NumFullStop	= &SetImeStatus(off) &Wait(5) *NumFullStop	&Sync &SetImeStatus(on)
# key IL-~M5-*NumSolidus	= &SetImeStatus(off) &Wait(5) *NumSolidus	&Sync &SetImeStatus(on)
# key IL-~M5-*NumAsterisk	= &SetImeStatus(off) &Wait(5) *NumAsterisk	&Sync &SetImeStatus(on)
# key IL-~M5-*NumHyphenMinus	= &SetImeStatus(off) &Wait(5) *NumHyphenMinus	&Sync &SetImeStatus(on)
# key IL-~M5-*NumPlus		= &SetImeStatus(off) &Wait(5) *NumPlus		&Sync &SetImeStatus(on)

【キーカスタマイズ2020年版 目次】

*1:なお、[スペース]と親指[Enter]をワンショットモディファイヤにするのも同様の問題が発生する可能性があります。しかし、少なくとも日本語入力の場合は、[スペース]や[Enter]を押した直後に文字キーを押すという操作はほとんどないので、問題になることはまずありません。英文タイプの[スペース]の入力は問題になる可能性があります。その場合は、[スペース] + [F9]でスペースのモディファイヤを無効にします。

*2:Google 日本語入力』にも同様の機能があります。『Microsoft IME』は半角で入力する機能はありますが、確定文字で入力することはできません。

*3:『のどか』には、IMEの状態を表わすモディファイヤIL-があるので、これを利用してIME ONの場合とIME OFFの場合を別々の設定を書く事で実現します。

キーカスタマイズ2020年版:その4 親指モディファイヤ

キーボード図。[スペース]を押した状態のキーカスタマイズ

キーボード図。元[変換]を押した状態のキーカスタマイズ

[スペース]と親指[Enter]をワンショットモディファイヤに 
※重要度★★★★☆

  • [スペース] → [スペース & Mod0]
  • [変換] → [Enter & Mod1]

 Mod0とMod1とは、『のどか』で設置できるモディファイヤ(シフト)のことです。

 親指のホームポジションのキーである[スペース]と親指[Enter](元[変換])をワンショットモディファイヤにします。これで、文字キーを含む多数のキーに機能を配置できるようになります。このモディファイヤにした2キーのことを「親指キー」と呼ぶことにします。

親指編集キー 
※重要度★★★★☆

  • 親指キー(左右とも)+ [↑] [↓] [←] [→] → [PageUp] [PageDown] [Home] [End]

 親指キー(左右どちらでも)を押しながら[↑] [↓] [←] [→]で、それぞれ[PageUp] [PageDown] [Home] [End]の入力。主に、親指左右カーソルや、中央列の上下カーソルとの組み合わせで使います。

 これらの4キーは「矢印キーの大移動版」という性質があります。カーソルを行頭や行末、1ページ上や下などに大きく移動させるのによく使うし、変換操作中も文節移動などに使います。この設定で、ホームポジションを維持したままこれらの操作もできるようになります。矢印キーとの組み合わせなので、動きの方向がイメージしやすいのも良い点です。

親指テンキー 
※重要度★★★★☆

左親指キーを押しながら右手文字キーで入力できるテンキー入力のキーマップ

親指テンキー
  • [スペース] + 右手文字キー → テンキー

 数字の入力は、文字キー最上段を使えばホームポジションを維持したまま押すことも可能ですが、やや使いづらい。テンキーの方が入力はしやすいですが、やはり遠いのが欠点です。

 そこで、左手親指キーを押しながら右手の文字キーでテンキーの入力になるようにします。これにより、ホームポジションを維持したままテンキーの入力ができるようになります。数字を入力するほか、変換候補などを数字キーで選ぶときにも活躍します。

 あくまで「テンキー」としての入力なので、『ATOK』の機能で「テンキーからの入力を必ず半角にする」「確定文字で入力する」にできます。IMEの入力モードを気にせずいつでも半角数字を入力することができます。半角数字は親指テンキー、全角数字は文字キー最上段という使い分けもできます。

 なお、「\」「:」「(」「)」の4つの記号は、本来のテンキーにはない記号ですが、これも『のどか』の設定を工夫して必ず半角で入力するようにしています

 使う文字キーは、[Y]~[@]、[H]~[;]、[N]~[/]、元[右Alt]、元[Application]、元[右Ctrl]の計19キーです。[0]は小指担当の[;]に配置しています。テンキーをまねるなら、[0]は親指[Enter](元[変換])の位置に割り当てる手もありそうですが、やってみると意外と違和感がありました。 

親指ウィンドウ移動 
※重要度★★★★☆

  • [スペース] + [E] → ウィンドウを上に移動
  • [スペース] + [D] → ウィンドウを下に移動
  • [スペース] + [S] → ウィンドウを左に移動
  • [スペース] + [F] → ウィンドウを右に移動
  • [スペース] + [W] → ウィンドウを左上にくっつける
  • [スペース] + [R] → ウィンドウを右上にくっつける
  • [スペース] + [X] → ウィンドウを左下にくっつける
  • [スペース] + [V] → ウィンドウを右下にくっつける

左手親指キーを押しながら左手文字キーでできるウィンドウ移動のキーマップ

親指ウィンドウ移動

 ウィンドウの移動は、マウスを使うと当然ホームポジションは維持できません。また、マウスを使うにしろ、キーボードで行う([Alt] + [スペース] → [M])にしろ、思った場所にぴたっと置くことはなかなかできません。この操作を使うと、直感的に思い通りの場所にウィンドウを移動させることができます。

 操作は、左手の同手シフトで、薬指・中指・人さし指のキーを使います。[E] [S] [D] [F]をカーソルキーに見立てるイメージで上下左右にウィンドウを移動。それを囲む四隅のイメージで、[W] [R] [X] [V]で画面の角にウィンドウをぴったりくっつけます。後者の方がよく使いますが、ワイドディスプレイを使うようになってからは前者(特に左右)もよく使うようになりました。

親指ウィンドウサイズ変更 
※重要度★☆☆☆☆

  • [スペース] + [Q] → ウィンドウサイズを縦方向に最大化/元に戻す
  • [スペース] + [A] → ウィンドウサイズを縦方向に縮小
  • [スペース] + [Z] → ウィンドウサイズを縦方向に拡大
  • 親指[Enter] + 元[右Alt] → ウィンドウサイズを横方向に最大化/元に戻す
  • 親指[Enter] + 元[Application] → ウィンドウサイズを横方向に縮小
  • 親指[Enter] + 元[右Ctrl] → ウィンドウサイズを横方向に拡大
  • [スペース] + [C] → ウィンドウを標準サイズに戻す

 ウィンドウのサイズ変更をキーボードで行うキーを親指モディファイヤで設定します。縦・横ともに同手シフト。縦方向は縦に並んでいるキーのイメージで[Q] [A] [Z]、横方向は横に並んでいるキーのイメージで元[右Alt] 元[Application] 元[右Ctrl]の3キーを使います。

 [C]は、ウィンドウサイズをあらかじめ設定していた標準サイズに戻すキーです。普段使い慣れていたウィンドウサイズがあっても、一時的に変更して使ったり、うっかり触ってウィンドウサイズを変えてしまう事があります。その際に簡単に元のサイズを取り戻すことができます。

親指音量変更 
※重要度★★★★☆

  • [スペース] + [T] → 音量アップ
  • [スペース] + [G] → 音量ダウン
  • [スペース] + [B] → ミュート

 左手の同手シフト、左手文字キーの中央寄りの縦の3キーで音量調節を行います。結構便利。親指モディファイヤの中では一番使ってるかも?

親指マウス 
※重要度★☆☆☆☆

  • 親指[Enter] + 右手文字キー → 親指マウス

 右手の同手シフトで、キーボードでマウス操作をできるようにします。人さし指、中指、薬指の9キーはマウスカーソル移動。[;]は左クリック、[P]は右クリック、[Y]と[H]はホイール、[N]はホイールクリック。マウスカーソルを下に移動するキーが2つありますが([K]と[,])、この方が使いやすいと思いました。

 マウスカーソル移動は、キーリピートが掛かった場合とそうでない場合で移動距離を変えています。これにより、短く連打した場合は1ピクセルずつ、押しっぱなしにした場合は大きく移動します。

 [/]はマウスカーソルをディスプレイ右下に飛ばします。マウスカーソルが邪魔なときに。

親指記号入力 
※重要度★★☆☆☆

  • 親指[Enter] + 左手文字キー → 記号入力
  • 親指キー(左右とも)+ 最上段文字キー → 記号入力
  • [スペース] + [Home] [End] [Delete] [PageDown] → 矢印記号入力
  • 親指[Enter] + [Home] [End] [Delete] [PageDown] → 記号入力

右手親指キーを押しながら左手文字キーで入力できる記号入力のキーマップ

親指記号入力(左手文字キー部分)

 親指[Enter]を押しながら左手文字キー、あるいは親指キーを押しながら最上段で記号入力します。

 比較的よく使う記号でありながら、通常の方法では入力しづらい記号を配置しています。こういう記号は、入力に手間が掛かると使うのがおっくうになってしまう。簡単に出せるようにしておけば使い道も広がる。

 「【】」「『』」「……」あたりの記号は、むしろ日本語入力配列に取り込むべきだと思う方もいると思いますが、自分は通常のIMEを使った文字入力で直接入力できない記号を日本語入力配列に入れてしまうのは違和感がありました。なので、新下駄配列ではこれらの記号は取り入れず、こちらの方法で入力できるようにしました。

 注意が必要な記号について。右手同手シフトの最上段の、[8]の「‐」は全角ハイフン、[0]の「―」は全角ダッシュです。ともに、全角マイナス(-)や長音符(ー)とは違う記号です。

 [6]の「“」は全角二重引用符(始め)です。なお、全角文字入力モード(かな入力以外)の[Shift] + [2]で入力できる「”」は全角二重引用符(終わり)です。半角文字入力モードの[Shift] + [2]で入力できる「"」(ダブルクォーテーション)には始めと終わりの区別はありません。*1

 [スペース] + [Home] [End] [Delete] [PageDown]は矢印記号の入力。REALFORCE 108USでは、これらのキーの下に矢印キーがあるので、その位置のイメージで入力します。また、親指[Enter]は別の記号を入力します。

 なお、こんな記号の配置はとても覚えられないので、入力できる記号をキートップの手前の面に油性マジックで書き込んでいます。

親指罫線素片入力 
※重要度★☆☆☆☆

  • [スペース] + テンキー → 罫線素片などの入力(細字など)
  • 親指[Enter] + テンキー → 罫線素片などの入力(太字など)

 親指キーを押しながらテンキーで罫線素片などの入力。[スペース]を押すか親指[Enter]を押すかで、細い部分と太い部分が逆の罫線素片を入力します。[Num Enter]は罫線素片ではないですが、罫線素片とともによく使う「/」(全角スラッシュ)と「\」(全角バックスラッシュ)を入力します。

 自分は罫線素片を使ってちまちま図を書くのが好きなので、その時に大活躍します(^_^;)

『CLCL』のメニューを呼び出す 
※重要度★★★☆☆

  • [スペース] + [Enter] → 『CLCL』メニューを呼び出す

 『CLCL』というクリップボード履歴ソフトを使用しています。その『CLCL』のメニューを、左親指キーを押しながら右親指キー([スペース]を押しながら[Enter])で呼び出せるようにしています。メニューを呼び出した後、左親指の[スペース]は押したまま右手の親指テンキーで、クリップボードアイテムをダイレクトに選択できます。

www.nakka.com

『のどか』の機能を呼び出す 
※重要度★☆☆☆☆

  • 親指キー(左右とも) + [F1] → 『のどか』のREADMEを開く
  • 親指キー(左右とも) + [F2] → 『のどか』:ウィンドウクラス調査
  • 親指キー(左右とも) + [F3] → 『のどか』:「調査」ダイアログを開く
  • 親指キー(左右とも) + [F4] → 『のどか』:「ログ」ダイアログを開く
  • 親指キー(左右とも) + [F12] → 『のどか』:現在の設定をログに書き出す

 親指キーとファンクションキーの組み合わせは、『のどか』や『やまぶきR』などの配列変更・キーカスタマイズアプリケーション自身の操作とします。まず[F1]~[F4]と[F12]は『のどか』の機能。『のどか』の設定をあれこれ考えるときに、これらの操作が使えると結構便利。設定を書き換えるハードルが下がります(次の[スペース] + [F5]の設定ファイル再読込も含めて)。

タイピングゲームへのモード変更 
※重要度★★☆☆☆

  • [スペース] + [F5] → 『のどか』:現在の設定ファイル再読込
  • [スペース] + [F6] → 『のどか』:通常モード
  • [スペース] + [F7] → 『のどか』:タイピングゲームかな入力
  • [スペース] + [F8] → 『のどか』:タイピングゲームローマ字入力
  • [スペース] + [F9] → 『のどか』:スペースのモディファイヤ無効
  • [スペース] + [F10] → 『のどか』:タイピングゲームかな入力TOD対応版
  • 親指[Enter] + [F5] → 『やまぶきR』:一時停止/再開(再読み込みも兼ねる)
  • 親指[Enter] + [F6] → 『やまぶきR』:通常モード
  • 親指[Enter] + [F7] → 『やまぶきR』:タイピングゲームかな入力
  • 親指[Enter] + [F8] → 『やまぶきR』:タイピングゲームローマ字入力
  • 親指[Enter] + [F9] → 『のどか』:スペースのモディファイヤ回復

 [F5]~[F10]はタイピングゲーム対応などの設定に変える操作。基本的に[スペース]は『のどか』に関する操作、親指[Enter]は『やまぶきR』に関する操作です。

 新下駄配列など、配列変更アプリケーションで実現している配列でタイピングゲームをプレイするには、IME OFFの状態でも配列変更が行われる設定ファイルを使うなどの方法を採る必要があります。それらの設定への変更を簡単にできるようにしておくと、タイピングゲームをプレイするハードルが下がります。

yamakey.seesaa.net

 以下、細かい話で長くなりますが、この設定を見る場合に解説が必要だと思う事柄をいくつか。

 『やまぶきR』の設定変更は、[Windows] + [B]で通知領域のアイコンにフォーカスを合わせて操作することで実現しています。よって、通知領域の中で『やまぶきR』のアイコンが一番左に存在することが前提です*2*3。フォーカスを元のウィンドウに戻すために、最後に[Alt] + [Tab]を入れています。

 『のどか』でタイピングゲームをプレイする際に『やまぶきR』が機能していると、なぜかうまくタイピングできないことがあります。そこで、『のどか』のタイピングゲームモードの設定ファイルを読み込むと同時に『やまぶきR』を一時停止し、通常モードの設定ファイルを読み込むと同時に『やまぶきR』を再開しています。この実現には、『やまぶきR』のScrollLockをかけると一時停止になる機能と、『のどか』のScrollLockの状態を表わすモディファイヤ「SL-」を利用しています。詳しくは設定ファイルを見てください。

 『タイプウェル』や英文タイプ(実用タイプも含みます)のようなスペースを多く含むタイピングをする際は、スペースにモディファイヤがあるとスペースの入力の邪魔になります。そこで、[スペース] + [F9] で[スペース]のモディファイヤ(Mod0)を無効にします*4*5。そして、その状態では[スペース] + [F6]の通常モードへの変更もできなくなるので、モディファイヤの回復は親指[Enter] + [F9]で行います。

『のどか』設定ファイル

# 【親指モディファイヤ】

# ◆親指 + カーソルキー(編集キー。左右親指とも同じ設定)
key M0-*→			= *End
key M0-*←			= *Home
key M0-*↑			= *PageUp
key M0-*↓			= *PageDown

key M1-*→			= *End
key M1-*←			= *Home
key M1-*↑			= *PageUp
key M1-*↓			= *PageDown

# ◆親指 + 最上段(記号入力。左右親指とも同じ設定)
key M0-*_1			= &ClipboardCopy('▽') C-V
key M0-*_2			= &ClipboardCopy('△') C-V
key M0-*_3			= &ClipboardCopy('□') C-V
key M0-*_4			= &ClipboardCopy('◇') C-V
key M0-*_5			= &ClipboardCopy('☆') C-V
key M0-*_6			= &ClipboardCopy('“') C-V

key M0-*_7			= &ClipboardCopy('月') C-V
key M0-*_8			= &ClipboardCopy('火') C-V
key M0-*_9			= &ClipboardCopy('水') C-V
key M0-*_0			= &ClipboardCopy('木') C-V
key M0-*HyphenMinus		= &ClipboardCopy('金') C-V
key M0-*CircumflexAccent	= &ClipboardCopy('土') C-V
key M0-*Colon			= &ClipboardCopy('日') C-V

key M1-*_1			= &ClipboardCopy('▽') C-V
key M1-*_2			= &ClipboardCopy('△') C-V
key M1-*_3			= &ClipboardCopy('□') C-V
key M1-*_4			= &ClipboardCopy('◇') C-V
key M1-*_5			= &ClipboardCopy('☆') C-V
key M1-*_6			= &ClipboardCopy('“') C-V

key M1-*_7			= &ClipboardCopy('〒') C-V
key M1-*_8			= &ClipboardCopy('‐') C-V
key M1-*_9			= &ClipboardCopy('♪') C-V
key M1-*_0			= &ClipboardCopy('―') C-V
key M1-*HyphenMinus		= &ClipboardCopy('±') C-V
key M1-*Colon			= &ClipboardCopy('≒') C-V
key M1-*CircumflexAccent	= &ClipboardCopy('≠') C-V

# ◆右親指 + 左手(記号入力)
key M1-*Q			= &ClipboardCopy('▼') C-V
key M1-*W			= &ClipboardCopy('▲') C-V
key M1-*E			= &ClipboardCopy('■') C-V
key M1-*R			= &ClipboardCopy('◆') C-V
key M1-*T			= &ClipboardCopy('★') C-V

key M1-*A			= &ClipboardCopy('●') C-V
key M1-*S			= &ClipboardCopy('◎') C-V
key M1-*D			= &ClipboardCopy('○') C-V
key M1-*F			= &ClipboardCopy('×') C-V
key M1-*G			= &ClipboardCopy('※') C-V

key M1-*Z			= &ClipboardCopy('【') C-V
key M1-*X			= &ClipboardCopy('】') C-V
key M1-*C			= &ClipboardCopy('『') C-V
key M1-*V			= &ClipboardCopy('』') C-V
key M1-*B			= &ClipboardCopy('……') C-V

# ◆左親指 + 右手(テンキー)
key M0-*Y			= *NumPlus
key M0-*U			= *Num7
key M0-*I			= *Num8
key M0-*O			= *Num9
key M0-*P			= *NumAsterisk
key ~IL-M0-*CommercialAt	= ~S-YenSign								# \
key IL-M0-*CommercialAt		= &SetImeStatus(off) &Wait(5) ~S-YenSign &Sync &SetImeStatus(on)

key M0-*H			= *NumHyphenMinus
key M0-*J			= *Num4
key M0-*K			= *Num5
key M0-*L			= *Num6
key M0-*Semicolon		= *Num0

key M0-*N			= *NumSolidus
key M0-*M			= *Num1
key M0-*Comma			= *Num2
key M0-*FullStop		= *Num3
key M0-*Solidus			= *NumFullStop

key ~IL-M0-*YenSign		= ~S-*Colon								# :
key IL-M0-*YenSign		= &SetImeStatus(off) &Wait(5) ~S-*Colon &Sync &SetImeStatus(on)	
key ~IL-M0-*LeftSquareBracket	= S-*_8									# (
key IL-M0-*LeftSquareBracket	= &SetImeStatus(off) &Wait(5) S-*_8 &Sync &SetImeStatus(on)
key ~IL-M0-*RightSquareBracket	= S-*_9									# )
key IL-M0-*RightSquareBracket	= &SetImeStatus(off) &Wait(5) S-*_9 &Sync &SetImeStatus(on)

# ◆左親指 + 左手(ウィンドウ操作と音量)
key M0-*Q			= &WindowVMaximize		# 縦方向に最大化/元に戻す
key M0-*W			= &WindowMoveTo(NW,0,0)		# 左上にくっつける
key M0-*E			= &WindowMove(0,-5)		# 上に移動
key M0-*R			= &WindowMoveTo(NE,0,0)		# 右上にくっつける
key M0-*T			= VolumeUp			# 音量アップ

key M0-*A			= &WindowResizeToPer(100,99)	# 縦方向に縮小する
key M0-*S			= &WindowMove(-10,0)		# 左に移動
key M0-*D			= &WindowMove(0,5)		# 下に移動
key M0-*F			= &WindowMove(10,0)		# 右に移動
key M0-*G			= VolumeDown			# 音量ダウン

key M0-*Z			= &WindowResizeToPer(100,101)	# 縦方向に拡大する
key M0-*X			= &WindowMoveTo(SW,0,0)		# 左下にくっつける
key M0-*C			= &WindowMoveVisibly		# 画面内に戻す(設定のないアプリケーションに対してのみ。このファイルの末尾の設定も参照)
key M0-*V			= &WindowMoveTo(SE,0,0)		# 右下にくっつける
key M0-*B			= Mute				# ミュート

# ◆右親指 + 右手(疑似マウス。右下3キーはウィンドウ操作 ※マウスカーソル移動は、短く押すと1ピクセルずつ、キーリピートがかかると大きく動きます)
key M1-*Y			= &MouseWheel(120)		# マウスホイール奥
key M1-*U			= &MouseMove(-1,-1)		# マウスカーソル左上
key M1-R-*U			= &MouseMove(-10,-10)		# マウスカーソル左上
key M1-*I			= &MouseMove(0,-1)		# マウスカーソル上
key M1-R-*I			= &MouseMove(0,-10)		# マウスカーソル上
key M1-*O			= &MouseMove(1,-1)		# マウスカーソル右上
key M1-R-*O			= &MouseMove(10,-10)		# マウスカーソル右上
key M1-*P			= &VK(RButton)			# マウス右クリック
# key M1-*CommercialAt		= 

key M1-*H			= &MouseWheel(-120)		# マウスホイール手前
key M1-*J			= &MouseMove(-1,0)		# マウスカーソル左
key M1-R-*J			= &MouseMove(-10,0)		# マウスカーソル左
key M1-*K			= &MouseMove(0,1)		# マウスカーソル下
key M1-R-*K			= &MouseMove(0,10)		# マウスカーソル下
key M1-*L			= &MouseMove(1,0)		# マウスカーソル右
key M1-R-*L			= &MouseMove(10,0)		# マウスカーソル右
key M1-*Semicolon		= &VK(LButton)			# マウス左クリック

key M1-*N			= &VK(MButton)			# マウスホイールクリック
key M1-*M			= &MouseMove(-1,1)		# マウスカーソル左下
key M1-R-*M			= &MouseMove(-10,10)		# マウスカーソル左下
key M1-*Comma			= &MouseMove(0,1)		# マウスカーソル下
key M1-R-*Comma			= &MouseMove(0,10)		# マウスカーソル下
key M1-*FullStop		= &MouseMove(1,1)		# マウスカーソル右下
key M1-R-*FullStop		= &MouseMove(10,10)		# マウスカーソル右下
key M1-*Solidus			= &MouseMove(2000,1200)		# マウスカーソルを画面外(右下)に飛ばす

key M1-*YenSign			= &WindowHMaximize		# 横方向に最大化/元に戻す
key M1-*LeftSquareBracket	= &WindowResizeToPer(99,100)	# 横方向に縮小する
key M1-*RightSquareBracket	= &WindowResizeToPer(101,100)	# 横方向に拡大する


# ◆左親指 + 右親指
key M0-*Enter			= A-CommercialAt		# 『CLCL』のメニュー呼び出し(『CLCL』側でメニュー呼び出しを[Alt] + [@]に設定する)

# ◆親指 + テンキーと編集キー(罫線素片と矢印記号などの入力。左親指と右親指では太さなどが逆の記号になる)
key M0-*Num9			= &ClipboardCopy('┐') C-V
key M0-*Num8			= &ClipboardCopy('┬') C-V
key M0-*Num7			= &ClipboardCopy('┌') C-V
key M0-*Num6			= &ClipboardCopy('┤') C-V
key M0-*Num5			= &ClipboardCopy('┼') C-V
key M0-*Num4			= &ClipboardCopy('├') C-V
key M0-*Num3			= &ClipboardCopy('┘') C-V
key M0-*Num2			= &ClipboardCopy('┴') C-V
key M0-*Num1			= &ClipboardCopy('└') C-V
key M0-*Num0			= &ClipboardCopy('─') C-V
key M0-*NumFullStop		= &ClipboardCopy('│') C-V
key M0-*NumPlusSign		= &ClipboardCopy('┸') C-V	# [Num Lock]はすでに[Num +]にしている
key M0-*NumSolidus		= &ClipboardCopy('┰') C-V
key M0-*NumAsterisk		= &ClipboardCopy('┥') C-V
key M0-*NumHyphenMinus		= &ClipboardCopy('┝') C-V
key M0-*BackSpace		= &ClipboardCopy('┿') C-V	# [Num +]はすでに[BackSpace]にしている
key M0-*NumEnter		= &ClipboardCopy('/') C-V

key M0-*PageDown		= &ClipboardCopy('→') C-V
key M0-*Delete			= &ClipboardCopy('←') C-V
key M0-*Home			= &ClipboardCopy('↑') C-V
key M0-*End			= &ClipboardCopy('↓') C-V

key M1-*Num9			= &ClipboardCopy('┓') C-V
key M1-*Num8			= &ClipboardCopy('┳') C-V
key M1-*Num7			= &ClipboardCopy('┏') C-V
key M1-*Num6			= &ClipboardCopy('┫') C-V
key M1-*Num5			= &ClipboardCopy('╋') C-V
key M1-*Num4			= &ClipboardCopy('┣') C-V
key M1-*Num3			= &ClipboardCopy('┛') C-V
key M1-*Num2			= &ClipboardCopy('┻') C-V
key M1-*Num1			= &ClipboardCopy('┗') C-V
key M1-*Num0			= &ClipboardCopy('━') C-V
key M1-*NumFullStop		= &ClipboardCopy('┃') C-V
key M1-*NumPlusSign		= &ClipboardCopy('┷') C-V
key M1-*NumSolidus		= &ClipboardCopy('┯') C-V
key M1-*NumAsterisk		= &ClipboardCopy('┨') C-V
key M1-*NumHyphenMinus		= &ClipboardCopy('┠') C-V
key M1-*BackSpace		= &ClipboardCopy('╂') C-V
key M1-*NumEnter		= &ClipboardCopy('\') C-V

key M1-*PageDown		= &ClipboardCopy('⇒') C-V
key M1-*Delete			= &ClipboardCopy('⇔') C-V
key M1-*Home			= &ClipboardCopy(' ̄') C-V
key M1-*End			= &ClipboardCopy('_') C-V

# ◆親指+ファンクションキー(『のどか』の操作など)
key M0-*F1			= &ShellExecute("open", "https://appletllc.com/web/nodoka-doc/README-ja.html",,, ShowNormal)	# 『「のどか」 - README』を開く
key M0-*F2			= &WindowIdentify &HelpMessage(nodoka, "ウィンドウの調査")					# ウィンドウクラス名とウィンドウタイトル名を調べる
key M0-*F3			= &NodokaDialog(Investigate, SHOW)								# 「調査」ウインドウを表示
key M0-*F4			= &NodokaDialog(Log, SHOW)									# 「ログ」ウインドウを表示
key M0-*F5			= &LoadSetting &HelpMessage(nodoka, "再読込 OK")						# 設定ファイルを再読み込み
key M0-~SL-*F6			= &LoadSetting("kouy") &HelpMessage(nodoka, "通常モード") &IconColor(0)													# 通常モード
key M0-SL-*F6			= &LoadSetting("kouy") ScrollLock &HelpMessage(nodoka, "通常モード\n『やまぶきR』再開") &IconColor(0)
key M0-~SL-*F7			= &LoadSetting("kouy_タイピングゲーム新下駄かな用") ScrollLock &HelpMessage(nodoka, "タイピングかな入力\n『やまぶきR』一時停止")  &IconColor(4)				# タイピングゲームかな入力
key M0-SL-*F7			= &LoadSetting("kouy_タイピングゲーム新下駄かな用") &HelpMessage(nodoka, "タイピングかな入力")  &IconColor(4)
key M0-~SL-*F8			= &LoadSetting("kouy_タイピングゲーム新下駄ローマ字用") ScrollLock &HelpMessage(nodoka, "タイピングローマ字入力\n『やまぶきR』一時停止") &IconColor(2)			# タイピングゲームローマ字入力
key M0-SL-*F8			= &LoadSetting("kouy_タイピングゲーム新下駄ローマ字用") &HelpMessage(nodoka, "タイピングローマ字入力") &IconColor(2)
key M0-*F9			= &LoadSetting("kouy_スペースのモディファイヤ無効") &HelpMessage(nodoka, "スペースのモディファイヤ無効") &IconColor(7) 							# スペースのモディファイヤ無効
key M0-~SL-*F10			= &LoadSetting("kouy_タイピングゲーム新下駄かな用TOD対応版") ScrollLock &HelpMessage(nodoka, "タイピングかな入力TOD対応版\n『やまぶきR』一時停止") &IconColor(5)	# タイピングかな入力TOD対応版
key M0-SL-*F10			= &LoadSetting("kouy_タイピングゲーム新下駄かな用TOD対応版") &HelpMessage(nodoka, "タイピングかな入力TOD対応版\n『やまぶきR』一時停止") &IconColor(5) 
# key M0-*F11			= 
key M0-*F12			= &DescribeBindings &HelpMessage(nodoka, "キーバインド情報")					# 現在の設定をログウィンドウに書き出す

key M1-*F1			= &ShellExecute("open", "https://appletllc.com/web/nodoka-doc/README-ja.html",,, ShowNormal)	# 『「のどか」 - README』を開く
key M1-*F2			= &WindowIdentify &HelpMessage(nodoka, "ウインドウクラス調査")					# ウインドウクラスを調べる
key M1-*F3			= &NodokaDialog(Investigate, SHOW)								# 「調査」ウインドウを表示
key M1-*F4			= &NodokaDialog(Log, SHOW)									# 「ログ」ウインドウを表示
key M1-~SL-*F5			= ScrollLock &HelpMessage(nodoka, "『やまぶきR』一時停止")					# 『やまぶきR』の一時停止/再開
key M1-SL-*F5			= ScrollLock &HelpMessage(nodoka, "『やまぶきR』再開")
key M1-*F6			= W-B &Sync &Wait(5) Applications &Sync &Wait(5) ↓ Enter &Sync &Wait(5) A-Tab				# 『やまぶきR』通常モード
key M1-*F7			= W-B &Sync &Wait(5) Applications &Sync &Wait(5) ↓ ↓ Enter &Sync &Wait(5) A-Tab				# 『やまぶきR』タイピングかな入力
key M1-*F8			= W-B &Sync &Wait(5) Applications &Sync &Wait(5) ↓ ↓ ↓ Enter &Sync &Wait(5) A-Tab				# 『やまぶきR』タイピングローマ字入力
key M1-~SL-*F9			= &LoadSetting("kouy") &HelpMessage(nodoka, "スペースのモディファイヤ回復") &IconColor(0)	# スペースのモディファイヤ回復
key M1-SL-*F9			= &LoadSetting("kouy") ScrollLock &HelpMessage(nodoka, "スペースのモディファイヤ回復\n『やまぶきR』再開") &IconColor(0)
# key M1-*F10			= 
# key M1-*F11			= 
key M1-*F12			= &DescribeBindings &HelpMessage(nodoka, "キーバインド情報")					# 現在の設定をログウィンドウに書き出す

# なんとなく、通知領域の『のどか』のアイコン色を変える設定を書いておく。
key M0-M1-*F1			= &IconColor(1) &HelpMessage(nodoka, "アイコン色\n1:茶色")
key M0-M1-*F2			= &IconColor(2) &HelpMessage(nodoka, "アイコン色\n2:赤色")
key M0-M1-*F3			= &IconColor(3) &HelpMessage(nodoka, "アイコン色\n3:橙色")
key M0-M1-*F4			= &IconColor(4) &HelpMessage(nodoka, "アイコン色\n4:緑色")
key M0-M1-*F5			= &IconColor(5) &HelpMessage(nodoka, "アイコン色\n5:青色")
key M0-M1-*F6			= &IconColor(6) &HelpMessage(nodoka, "アイコン色\n6:紫色")
key M0-M1-*F7			= &IconColor(7) &HelpMessage(nodoka, "アイコン色\n7:黄色")
key M0-M1-*F8			= &Undefined
key M0-M1-*F9			= &Undefined
key M0-M1-*F10			= &IconColor(0) &HelpMessage(nodoka, "アイコン色\n0:灰色(デフォルト)")
key M0-M1-*F11			= &Undefined
key M0-M1-*F12			= &Undefined

# ◆あらかじめ設定したアプリケーションでは、[スペース] + [C]はウィンドウを標準サイズにして画面内に戻す(設定がないアプリケーションでは画面内に戻すだけ)
window Explorer /Explorer\.exe/ : Global
key M0-*C			= &WindowResizeTo(960, 1050) &WindowMoveVisibly	# 『エクスプローラ』(フォルダ)

window EXCEL /EXCEL\.EXE/ : Global
key M0-*C			= &WindowResizeTo(960, 1050) &WindowMoveVisibly	# 『Excel』

window Firefox /firefox\.exe/ : Global
key M0-*C			= &WindowResizeTo(970, 1057) &WindowMoveVisibly	# 『Firefox』

window TeraPad /TeraPad\.exe/ : Global
key M0-*C		= &WindowResizeTo(710, 1057) &WindowMoveVisibly		# 『TeraPad』

window Nami2000 /Nami2000\.exe/ : Global
key M0-*C			= &WindowResizeTo(992, 1057) &WindowMoveVisibly	# 『Nami2000』

window Jane2ch /Jane2ch\.EXE/ : Global
key M0-*C			= &WindowResizeTo(842, 1057) &WindowMoveVisibly	# 『JaneStyle』

【キーカスタマイズ2020年版 目次】

*1:「ありません」と言い切ってしまうと問題があるような気がしますが、よく分からん……。PCで日本語のテキストを入力するだけならこの理解で問題ないと思う……。

*2:ちなみに、通知領域のアイコンはドラッグ&ドロップで入れ替えできます。

*3:また、『やまぶきR』の通知領域のアイコンを右クリックして表示されるメニュー上でさらに右クリックすると、その設定ファイルへ変更するメニューを追加することができます。

*4:スペースにMod0を追加しない設定ファイルを別に作って、その設定ファイルを読み込む設定を作ることで実現しています。もうちょっとスマートな方法もある気がするけど……。

*5:なお、『タイプウェル』上では自動的に[スペース]のモディファイヤは無効になるようにしています。

キーカスタマイズ2020年版:その3 機能キー

キーボード図。[:] → [BackSpace]などのキーカスタマイズ

 親指担当キーの4キー右手一列シフトに伴う中央列などに設置する機能キーについてはすでに書きました。今回は、それ以外の場所に配置する機能キーについて書きます。

[BackSpace]を右手小指のホーム段に 
※重要度★★★★★★★★★★

キーボード図。[BackSpace]を[:]に配置

[BackSpace]と[右Shift]
  • [:](元 [ ] ] ) → [BackSpace]
  • [BackSpace] → [:](元 [ ] ] )

 [BackSpace]を[:]の位置、つまり右手小指のホームポジションの一つ外側に配置します。もともとは親指シフトNICOLA)で使われていた配置ですが、新下駄配列でもこの配置を使用しています。[BackSpace]を配置する場所としては、他に親指担当キーも有力候補ですが、親指左右カーソルなどのため空きがないので、[BackSpace]はこの位置にしています。

 [BackSpace]の位置の改善は、すべてのキーカスタマイズの中で最も重要です。[BackSpace]はとてもよく使うキーであるにもかかわらず、文字キー領域の右上隅というはるか遠い場所に配置されています。

 [BackSpace]の主な役割に、タイプミスの修正があります。タイプミスが発生するということは当然タイピング中ですから、指はホームポジション近くにあるはずです。よって、[BackSpace]はホームポジションを保ったまま楽に押せる場所にある必要があります。また、タイプミスという偶発的要因によって押す必要が生じるので、事前に想定していなくても瞬時に指が動いて押せるような、なおさら良い場所に配置されている必要があります。

 そんな[BackSpace]が、あんなに遠い場所に配置されているなんてとんでもないことです。この1キーを近づけるだけで、文章入力の快適さは別次元。これ一つで世界が変わる。

 元の[BackSpace]の場所には、入れ替えで[:]を配置します。[:]は記号キーの中では比較的使う方なのでもう少し近付けたい感じもしますが、かなキーと比べると記号キーの使用頻度はやはり低い。移動するキーが少なくて済む方を優先します。

[英数]を[Ctrl]のワンショットモディファイヤに 
※重要度★★★★★

  • [英数] → [英数 & Ctrl]

 [Ctrl]は、コピペや上書き保存、アンドゥなど、文章入力中もカタカナ後変換やひらがな後変換など、あらゆる機能で大活躍するキーです。しかし、初期設定のキーボードでは、[Ctrl]は左下隅と右下隅という打ちにくい場所に置かれています。

 [Ctrl]を[A]の左に置くというのは、古くからある愛用者の多いカスタマイズ案です。例えば、Happy Hacking Keyboardでは初期設定で[Ctrl]が[A]の左に配置されています。

 しかし、日本語キーボードでは[A]の左には[英数]が配置されています。[英数]はIME操作に使うキーとしては妥当です。「IME ON/OFF」の機能を持つキーは初期設定では[半角/全角]ですが、[半角/全角]は遠すぎます。IME操作は文字入力に関連して行われるので、ホームポジションから楽に押せるキーに配置したいところです。

 そこで、[英数]の機能は生かして、ワンショットモディファイヤとして[Ctrl]の機能を追加します。ワンショットモディファイヤとは、1つのキーで単打キーとモディファイヤキー(修飾キー)の機能を兼用する事です。[英数]を押し下げて、他のキーを押さずに離した場合は[英数]を押したことになります。また、[英数]を押し下げたまま他のキーを押した場合は[Ctrl]を押したことになります([英数]を押したことにはならない)。これにより、[英数]の機能を残したまま、[Ctrl]をベストな位置に置くことができました。*1

 なお、元の左下の[Ctrl]はそのまま残します。文字キー下段との組み合わせは元の[Ctrl]の方が押しやすいこともあるし、[Ctrl] + [マウスクリック]はワンショットモディファイヤの[Ctrl]ではできないからです。

日本語入力ONと日本語入力OFFを別のキーに 
※重要度★★★★☆

キーボード図。キーボード左端のカスタマイズ

[英数]など左端の機能キー

 初期設定のキーボードで「IME ON/OFF」に使うキーは[半角/全角]ですが、このキーはホームポジションから遠いという他に、もう一つ問題があります。

 IME ONとIME OFFを1つのキーで兼用するトグル方式だと、現在のIMEの状態を把握していないと、正しい操作ができません。例えば、すでにIME ONになっているにもかかわらず[半角/全角]を押してIMEをOFFにしてしまって、日本語を入力しようと思ったのに意味不明のアルファベットが羅列されている……という事態が生じることになります。

 IME ONとIME OFFを別のキーに配置して、「日本語を入力するときはIME ONのキーを押す」「アルファベットを入力するときはIME OFFのキーを押す」と決めてしまえば、IMEのモード違いに悩むことがなくなります。

 そこで、[英数]に“日本語入力ON”、[右Shift]に“日本語入力OFF”に相当する機能を配置します。[英数]はIME ONにすると同時にひらがな入力モードにします*2。[右Shift]は、初期設定ではホームポジションからやや遠いキーですが、右手一列シフトにより1キー近くなったので使いやすくなりました。ワンショットモディファイヤにしてShiftの機能も残します。

 [右Shift]に搭載する“日本語入力OFF”に関しては、実はまだ問題があるので次の項目に続きます。

ATOK』で「半角英語キー」を実現するには? 
※重要度★★★☆☆

  • [右Shift] → 「IME ON → [Ctrl] + [F9] → [I](半角英字モードを選択)」

 この項目は『ATOK』特有の話です。『Microsoft IME』や『Google 日本語入力』などのIMEを使うなら、[右Shift]をIME OFFにすれば済むことです。ATOKの機能をフルに使おうとすると、そうはいかない事情があります。

ATOKの全入力文字メニュー:[I]で半角英語モードを選択する。

ATOKの全入力文字メニュー

 ATOKには「英語入力モード」という入力モードがあります。このモードで入力すると、スペルチェックが働く・ローマ字綴りで入力しても正しい英単語に変換できる・日本語と同様の省入力変換や推測変換ができるなど、便利な機能が使えます。よって、ATOKでの英数入力は、できれば英語入力モードで入力したいところです。

 ところが、ATOKでは「英語入力ON」という設定が存在しません。英語入力モードに入るキーカスタマイズの設定は「英語入力ON/OFF」しかないのです。*3

 そこで、[Ctrl] + [F9]の「全入力文字メニュー」を使って「英語入力ON」を実現します。つまり、[右Shift]を押したら「IMEをONにして、[Ctrl] + [F9]で全入力文字メニューを表示して、[I]で半角英字を選択する」までを一気に行います。これで事実上「英語入力ON」というキーを設定することができました。少々回りくどい実装ですが、実用上は問題なく使えています。

y-koutarou.hatenablog.com

親指キー + [英数]でIME OFF 
※重要度★★☆☆☆

  • 親指キー(左右とも) + [英数] → IME OFF

 IME OFFにするキーがまだ設置できていません。[英数]は「IME ONにしてひらがな入力」、[右Shift]は「IME ONにして英語入力」にしたので、結局両方ともIME ONにするキーです。英語入力モードではなくIME OFFで入力したいこともあるので、IME OFFにするキーもあった方が便利です。

 そこで、親指キー([スペース]か親指[Enter])を押しながら[英数]でIME OFFにできるようにします(OFF専用です)。使用頻度はそれほど高くありません。

[Esc]を少し近づける 
※重要度★★☆☆☆

  • [半角/全角] → [Esc]

 [Esc]はさまざまなアプリケーションで中止や取り消しの機能を持つキーですが、左上隅というかなり遠い位置に置かれています。押し間違いを防止するという意味かもしれませんが、押し間違える事はそんなにないし、[Esc]を1回誤打したくらいで致命的な事態になることはありません。

 そこで、[半角/全角]の位置に[Esc]を配置して、[Esc]の位置を少し近付けます。

 [半角/全角]は廃止します。IME関連の操作は、前述の通り[英数]と[右Shift]で行います

左上に「ウィンドウを閉じる」キーを配置 
※重要度★★★☆☆

  • [Esc] → [Alt] + [F4]

 元[Esc]の位置には[Alt] + [F4]、つまり「ウインドウを閉じる」機能を持つキーを配置します。これこそ押し間違い防止のために遠くに配置するべきキーでしょう。

 ウィンドウを閉じる操作は、マウスにしろキーボードにしろ操作に手間が掛かるので、「ウィンドウを閉じる」キーがあるとPC操作の快適度がかなり上がります。ウィンドウを閉じるショートカットキーとしては、[Ctrl] + [W]、[Alt] + [F4]、[Alt] + [スペース] → [C]などもありますが、単打1キーでできるのは強いです。

右上の3キーをウィンドウ操作キーに 
※重要度★★☆☆☆

キーボード図。右上の3キーをウィンドウ操作キーにする。

右上の3キーをウィンドウ操作キーに
  • [PrintScreen](単打のみ) → 「ウィンドウを最小化」
  • [ScrollLock] → 「ウィンドウを最大化/元に戻す」
  • [Pause] → [Alt] + [F4]

 右上遠くにある、役割が形骸化している?3つのキーには、ウィンドウ操作キーを配置します。各ウィンドウの右上にある3つのボタンからの連想です。使用頻度はそこまで高くないですが、こんな遠い場所のキーは他の活用も難しい。初期設定よりはよっぽど使えます。

 「ウィンドウを閉じる」キーは先ほど[Esc]の位置に配置したので左右両方の上隅に配置することになりますが、2つ配置する価値は十分にあります。

 元の3つのキーのうち、[ScrollLock]と[Pause]は廃止します。

 [PrintScreen]は、[Alt] + [PrintScreen]の「アクティブウィンドウをコピー」や[Windows] + [Alt] + [PrintScreen]の「アクティブウィンドウをPNG形式で保存」*4は便利な機能です。これを使えるように、[PrintScreen]を単打で押した場合のみ「ウィンドウの最小化」となるようにします。

[F1]を[Shift] + [F3]を押す用の[Shift]に 
※重要度★☆☆☆☆

  • [F1] → [F1 & Shift]

 テキストエディタなどで、「文字列の検索(前を検索)」で[Shift] + [F3]という操作をするアプリケーションがあります。しかし、[Shift]と[F3]の場所は、同時に押しやすい位置関係とは言えません。

 そこで、[F1]をワンショットモディファイヤにして、[Shift]の機能を付けます。これで[Shift] + [F3]が左手だけで「チョキ」で押せるようになります。

 取って付けたような設定ですが、他の邪魔になることもなく、悪くありません。

『のどか』設定ファイル

# 【機能キー】

# ◆[Esc]と[半角/全角]				●元のキー	●変更後のキー
def subst *Esc 			= *RightControl	# 元[Esc]	閉じる		※いったん[右Ctrl](キーボード上から消滅するキー)にしてから「ウインドウを閉じる」に置き換える。key Esc = A-F4などと書いてしまうと、他のdef substで作った[Esc]も閉じるになってしまう
key *RightControl		= A-F4		# 				※ウィンドウを閉じるのに&WindowCloseを使うと、デスクトップを閉じたり(?)スタートメニューを閉じたり(?)できてしまってトラブルになることがたまにあるので。
def subst ~M0-*半角/全角	= *Esc		# [半角/全角]	[Esc]

# ◆[英数]と[右Shift]								●元のキー		●変更後のキー
mod control			+= !!英数					# [英数]		[英数 & Ctrl]
key ~M2-~S-*英数		= &SetImeStatus(on) &SetImeConvStatus(0x0019)	# [英数]		IMEオン(ひらがな入力モード)	※~S-を付けないとCaps Lockがかからなくなる。
key ~M2-~S-M0-*英数		= &SetImeStatus(off)				# 親指キー(左右とも) + [英数]	IMEオフ
key ~M2-~S-M1-*英数		= &SetImeStatus(off)
key ~M2-R-*英数			= &Ignore
mod shift			+= !!RightShift					# [右Shift]		[IMEオン(半角英語入力モード) & Shift]	※『ATOK 2017』の半角英語モードにする。
key R-*RightShift		= &Ignore
key ~R-*RightShift		= &SetImeStatus(on) &Wait(5) C-F9 &Wait(5) S-I	# S-Iなのは、Iだけだと新下駄配列の「こ」が押されてしまうことがあるため。

# ◆右上の3キー						●元のキー		●変更後のキー
key ~M2-~A-~W-*PrintScreen	= &WindowMinimize	# [PrintScreen]		最小化(単打の場合のみ)	# ※Windows 10の[Win]+[Alt]+[PrintScreen]のアクティブウィンドウをキャプチャなどが便利なので、[PrintScreen]を単独で使う場合はほとんど無いので、[PrintScreen]を単独で押した場合だけ最小化。モディファイヤを伴うときは[PrintScreen]のまま)
key ~M2-*ScrollLock		= &WindowMaximize	# [ScrollLock]		最大化/元に戻す([Space]か元[変換]を押すと元のキーのまま)
key ~M2-*Pause			= A-F4 			# [Pause]		閉じる([Space]か元[変換]を押すと元のキーのまま)
# key M0-*PrintScreen		= A-*PrintScreen &Sync &ShellExecute("open","C:\Windows\\System32\\mspaint.exe",,,ShowNormal) &Wait(300) C-V	# アクティブウィンドウをコピーして、『ペイント』を起動して、貼り付ける ← Windows 10標準のスクリーンショット撮影が便利になったので廃止)

# ◆その他						●元のキー	●変更後のキー
def subst ~M2-*Insert 		= *Applications		# [Insert]	[Application]
mod shift			+= !!F1			# [F1]		[F1 & Shift]	※[Shift]+[F3]の「上方向に検索」のためだけ
key R-*F1			= &Ignore

【キーカスタマイズ2020年版 目次】

*1:ワンショットモディファイヤの元となったアイデアは「Space and Shift」だと思います(スペースキーにShiftキーの機能を加える)。ここでは「Space and Shift」の表記にならって、ワンショットモディファイヤを[単打機能 & シフト機能]と表記することにします。

*2:IMEのキー設定でも実装できると思いますが、自分は『のどか』の機能(&SetImeStatus&SetImeConvStatus)で実装しています。

*3:少なくとも『ATOK 2017』まではありませんでした。

*4:Xbox Game Ber』の機能です。なお、画像は「PC → ビデオ → キャプチャ」に保存されます。

キーカスタマイズ2020年版:その2 右手一列シフト

キーボード図。右手担当の文字キーをすべて右に一列ずらす。

右手一列シフト 
※重要度★★★★☆

 右手担当の文字キーをまるごと1キーずつ右にずらします。例えば、もともと[K]だったキーを[J]に、[J]だったキーを[H]にします。このような変更を右手担当の文字キーすべてに行います*1。右手のホームポジションも一緒に1キー右にずらします。

 親指シフトNICOLA)愛好家の一部で「orz配列」と呼ばれている手法と同じです。主に[変換]の位置を右手親指に合わせる目的で行われます。*2

 しかし、この方法は、親指シフトでなくても数多くのメリットがあります。*3

  • 右手親指で[変換]([Enter]に変更したキー)と[ひらがな]([→]に変更したキー)が押しやすい位置になる。
  • [右Shift]や、その他キーボードの右側にあるキーが近くなる。
  • 右手と左手の文字キーの担当範囲が均等に近くなる。
  • 中央列に機能キーを配置できるので、ホームポジションで使える機能キーが増える。

 大改造に見えるかもしれませんが、意外と違和感はありません。ホームポジションと文字キーの位置関係は変わっていないので、文字キーのタッチタイピングはいままでと変わりません。機能キーの位置もすぐに慣れます。右手一列シフトにしたキーボードと普通のキーボードの使い分けも問題なくできます。

中央列の上段と中段に[↑] [↓]を配置 
※重要度★★★★☆

キーボード図。右手一列シフトで空いた中央列に[↑] [↓] [Delete]などを配置。

右手一列シフト中央列
  • [Y] → [↑]
  • [H] → [↓]

 右手一列シフトにした影響で、もともと[7] [Y] [H] [N]だったキーが空きます。これらのキーを“中央列”と呼ぶことにします。中央列はホームポジションからはやや遠いものの、動かしやすい人さし指で押せるので、そこそこ押しやすいキーです。ここによく使う機能キーを配置します。

 まず、上段(元[Y])と中段(元[H])に、矢印キーの上下を割り当てます。これで、親指左右カーソルと合わせて4つの矢印キーをすべて配置できました。上下左右の矢印キーがすべてホームポジションから単打で押せるというのは、自分のキーカスタマイズ案の推しポイントです。

中央列の下段に[Delete]を配置 
※重要度★★★★☆

  • [N] → [Delete]

 中央列下段の元[B]には[Delete]を配置します。[Delete]は文章入力中などよく使うキーですが、文字キー領域の右外側というはるか遠い場所に配置されています。これをホームポジションから届く場所に置けるのは大きなメリットです。

中央列の最上段は「スペシャルキー」 
※重要度★★★☆☆

 中央列最上段は、さすがにホームポジションからはやや遠いので、頻繁に使う機能を置くには向きません。そこで、各アプリケーションごとに違う機能を持たせる「スペシャルキー」としました。これについては、後の「スペシャルキー」の項目で説明します。

右端だったキーを右下領域に配置 
※重要度★★★☆☆

キーボード図。右手一列シフトで失った[\] [<span data-unlink> </span>]を右下の3キーに配置。

文字キー右端だったキーを右下に配置
  • [右Alt] → [¥ & Alt]
  • [Application] → [ [ ]
  • [右Ctrl] → [ ] & Ctrl]

 右手一列シフトにより、文字キーの右端にあった4キー([¥]・[ [ ]・[ ] ]・[\])がキーボード上からなくなってしまいます。使用頻度は低いキーですが、ないのは困ります。

 そこで、キーボード右下の最下段にある[右Alt] [Application] [右Ctrl]の3キーに、右端列だったキーのうち上から3キー、最上段の[¥]、上段の[ [ ]、中段の[ ] ]を割り当てます。多少打ちにくいですが、頻繁に使うキーではないのでそれほど問題はありません。元[右Alt]と元[右Ctrl]はワンショットモディファイヤにして、AltとCtrlの機能も残します。

 なお、109キーボード(キーが109個ある、よくあるフルキーボードのこと)の場合は右手の最下段に[右Windows]もありますが、自分が使っているREALFORCE 108USには[右Windows]はありません。*4

[Application]を[Insert]に配置 
※重要度★★★☆☆

  • [Insert] → [Application]

 [Application]は主にマウスの右クリックと同じ機能を持つキーです。頻繁に使うキーではありませんが、[Application] → [文字キー]などで多くの機能に楽にアクセスできるので、「マウスに触らないPC快適操作」の実現には欠かせないキーです。マウスでちまちまやるしかないように見える苦しい作業でも、[Application]を活用すると一気に効率が上がることはよくあります。

 その[Application]を、いま[ [ ]に置き換えてしまいました。そこで、キーボード右上領域の[Insert]に[Application]を配置します。文字キーのあるブロックからは外れてしまいましたが、元の場所もそこまで打ちやすかったわけではないので、特に問題はありません。

 [Insert]は使わないので廃止します。

「_」(アンダースコア)を[Shift] + [0]に 
※重要度★★☆☆☆

  • [Shift] + [0] → [Shift] + [\]

 右手一列シフトでなくなってしまった右端キーのうち、下段の[\]がまだ配置できていません。

 このキーのキートップには「\」とプリントされていますが、打鍵した際に入力される文字は、[¥]で入力される文字と同じです。表示はフォントによって「¥」(円マーク)になったり「\」(バックスラッシュ)になったりしますが、入力される文字は同じです。よって、単打の[\]はなくても問題ありません。
 しかし、[Shift] + [\]で入力できる「_」(アンダースコア)は、他のキーでは入力できません。これは必要です。

 ところで、[Shift] + [0]を押しても、何も入力されません。他の文字キーは、[Shift]を押しながら押すとアルファベットの大文字や記号などが入力されます。唯一[0]だけ、Shift側で入力できる文字が設定されていません。[Shift] + [0]で何か文字が入力されるように設定しても、特に不都合はありません。

 この空き地を利用して、[Shift] + [0]を押すと[Shift] + [\]、つまり「_」が入力されるように設定します。これで、右手一列シフトでなくなった右端列のキーの機能は、すべて取り戻すことができました。

『のどか』設定ファイル

# 【右手一列シフト】

# ◆右手の担当範囲を右に一つずらす(「右手一列シフト」)
def subst *_8			= *_7
def subst *_9			= *_8
def subst *_0			= *_9
def subst *HyphenMinus		= *_0
def subst *CircumflexAccent	= *HyphenMinus
def subst *YenSign		= *CircumflexAccent
def subst *BackSpace		= *Colon		# [BackSpace]は[:]にする。
def subst *U			= *Y
def subst *I			= *U
def subst *O			= *I
def subst *P			= *O
def subst *CommercialAt		= *P
def subst *LeftSquareBracket	= *CommercialAt
def subst *J			= *H
def subst *K			= *J
def subst *L			= *K
def subst *Semicolon		= *L
def subst *Colon		= *Semicolon
def subst *RightSquareBracket	= *BackSpace		# [:]は[BackSpace]にする。
def subst *M			= *N
def subst *Comma		= *M
def subst *FullStop		= *Comma
def subst *Solidus		= *FullStop
def subst ~M2-*ReverseSolidus	= *Solidus
key ~M2-S-~M0-*_0		= S-ReverseSolidus	# [Shift]+[0]を「_」にする。
# ◆右手一列シフトで空いた中央列を機能キーにする	●元のキー	●変更後のキー
def subst *_7			= *RightWindows		# 中央列最上段	スペシャルキー	※いったん[右Windows](キーボードにないキー)にしてから「スペシャルキー」に置き換える。
def subst *Y			= *↑			# 中央列上段	[↑]
def subst *H			= *↓			# 中央列中段	[↓]
def subst *N			= *Delete		# 中央列下段	[Delete]
# ◆右下のキーを右端列の文字キーに置き換える(ワンショットモディファイヤにする)●元のキー	●変更後のキー
mod alt				+= !!RightAlt		# [右Alt]	[\ & Alt]
key R-*RightAlt			= &Ignore
def subst ~R-*RightAlt		= *YenSign
# mod windows			-= RightWindows		# 「REALFORCE 108」に[右Windows]はない。なお、元々モディファイヤのキー([Shift] [Ctrl] [Alt] [Windows]の4種)を通常キーとして使いたい場合は、この行のように記述してモディファイヤを剥奪しておく必要があります(しないと何かと怪しい挙動をします)。
def subst *Applications		= *LeftSquareBracket	# [Application]	[ [ ]
mod control			+= !!RightControl	# [右Ctrl]	[ ] & Ctrl ]
key R-*RightControl		= &Ignore
def subst ~R-*RightControl	= *RightSquareBracket

【キーカスタマイズ2020年版 目次】

*1:なお、[6]は左手担当のキーとして扱っています。

*2:この手法自体はorz配列と呼ばれる以前からあったものです。自分は以下のページで知りました。

*3:初期設定の配置でキーボードを使う場合は、ほかに

  • [BackSpace]が近くなる。
  • [Enter]が近くなる。

というメリットもあります。しかし、キーカスタマイズをする前提なら、これらのキーは初期設定より押しやすい位置に配置する方が良いです。よって、ここではメリットには含めません。

*4:108USだけでなく、他のREALFORCEシリーズの日本語配列キーボードにも右Windowsキーはありません。REALFORCE以外でも、“高級キーボード”と呼ばれるキーボードは、日本語配列のフルキーボードでも、右Windowsキーがない「108キーボード」であることが多いです(FILCO Majestouch富士通 Libertouchなど)。なんでだろ?

キーカスタマイズ2020年版:その1 親指担当キー

 キーボードが使いにくすぎる!

 それは、キーボードを初期設定のままで使っているからです。初期設定のキーボードは、よく使うキーがとんでもなく押しにくい場所に配置されている一方、とても押しやすい場所に大して使わないキーが配置されています。これではキーボードが使いにくいのも当然です。キーボードの実力を半分も生かせていません。本当は、キーボードの操作は、とても簡単で、効率的で、楽しいものです。

初期設定のキーボード図

初期設定のキーボード図

「キーカスタマイズ2020年版」を実施したキーボード図。半分以上のキーが移動している

「キーカスタマイズ2020年版」を実施したキーボード図

 よく使うキーは押しやすい場所に、使わないキーは押しにくい場所に、あるいは廃止するというキーカスタマイズ(キーマップ・キーアサイン・キーバインド変更)を、自分はずっと前からやっていました。詳しい内容は、以前「俺的キーカスタマイズまとめ」という記事にまとめたことがあります。しかし、これは2008年のこと。もう12年前になります。大まかな内容は変わっていませんが、細かいところは変更した部分もあります。期間もだいぶ経ったので、改めてまとめを書いてみようと思ったのです。

 キーボードは、以前の記事の段階ではREALFORCE 108UHを使っていましたが、現在はREALFORCE 108US使っています。キー荷重が45gから30gになっただけで、キーの配置は同じです。*1

 キーカスタマイズソフトは、『窓使いの憂鬱』はWindows Vista以降に対応しなかったので、後継ソフトである『のどか』を使っています。基本的な機能は同じです。

appletllc.com

 各項目のタイトルにその項目の重要度を記します。基本的に「★★★★★」から「★☆☆☆☆」の5段階評価です。

親指担当キーのキーカスタマイズ図

 まずは、親指が担当するキーのカスタマイズを考えます。ここでは、[無変換] [スペース] [変換] [ひらがな]の4キーのことを指します。この4キーはとても押しやすいキーであるにもかかわらず、初期設定では[スペース]以外は大して重要ではない機能が配置されています。

 親指キーの機能を改良することは、キーカスタマイズの組み立てにおいて最も重要です。この4キーの機能を見直すだけでも、キーボードの使いやすさは大幅に改善できます。

親指Enter 
※重要度★★★★★

  • [変換] → [Enter]

キーボード図。[変換]を[Enter]、[無変換]を[←]、[ひらがな]を[→]。

親指Enterと親指左右カーソル

 [Enter]は、頻繁に使うキーであるにもかかわらず、文字キーの領域の右外という、ホームポジションから遠い位置に置かれています。小指を伸ばすにしろ、他の指で押しに行くにしろ、何回も押しているとすぐに疲れてしまいます。

 [変換]を[Enter]にすれば、[Enter]を右手の親指で楽に、他の指のホームポジションを保ったまま押せるようになります。IMEの変換操作が「左手親指の[スペース]で変換して、右手親指の[Enter]で確定」という流れできるのも良いです。

 [変換]は廃止します。[スペース]とほとんど同じ機能なので、無くても問題ありません。*2

 なお、[スペース]と元[変換]の[Enter]には、Mod0とMod1という機能も割り当てます。これついては、「親指モディファイヤ」の項目で説明します。

親指左右カーソル 
※重要度★★★★★

  • [無変換] → [←]
  • [ひらがな] → [→]

 矢印キー(カーソルキー)は、文章入力中にとてもよく使います。特に[←]と[→]は、IMEの操作としては文節移動や文節伸縮に使うし、カーソルを文章の少し前の部分に戻して訂正するなど使い道が多く、ホームポジションから押せる価値が高いキーです。

 しかし、矢印キーは文字キー領域の右下外という、明らかにホームポジションからは押せない場所に配置されています。

 そこで、[無変換]と[ひらがな]という、親指担当キーの左と右のキーをカーソルキーにします。一見、奇妙な配置に思えるかもしれませんが、これが操作と画面の動きに一体感があって心地よいです。自分のキーカスタマイズの軸になる設定です。

 [無変換]と[ひらがな]は廃止します。[無変換]の主な機能は「かな変換」(入力した文字をカタカナなどに変換する)ですが、この機能は[Ctrl] + [I]などで行えます。[Ctrl]の位置も改善するので、[Ctrl] + [文字キー]という操作は使いやすくなります。

 また、[無変換]と[ひらがな]にはIMEの入力モード変更に関する機能もありますが*3、どちらも使いません。IMEの入力モード変更は[英数]と[右Shift]を使うことにします。

『のどか』設定ファイル

# ◆親指で押す4キー				●元のキー	●変更後のキー
mod Mod0			+= !!Space	# [Space]	[スペース & Mod0]
key R-*Space			= &Ignore
mod Mod1			+= !!変換	# [変換]	[Enter & Mod1]
def subst ~M2-~R-*変換		= *Enter
key ~M2-R-*変換			= &Ignore
def subst ~M2-*無変換		= *←		# [無変換]	[←]
def subst ~M2-*ひらがな		= *→		# [ひらがな]	[→]

【キーカスタマイズ2020年版 目次】

*1:108UH、108USともに第1世代の製品です。現在のREALFORCER2シリーズという第2世代の製品が主力になっていますが、R2はスペースキーが長くなって変換キー、無変換キーの位置が脇に追いやられてしまったことと、ApplicationキーがFnキーを使わないと押せなくなってしまったことが残念でなりません。

y-koutarou.hatenablog.com

*2:数少ない[変換]を使わないとできない機能に「再変換」があります(確定した文字を確定前の状態に戻す)。対応策は、例えば次のようなものがあります。

  1. IMEの設定で「再変換」を別のキー(例えば[Shift] + [Enter])に割り当てる。なお、『ATOK』の「再変換」は、初期設定で[Shift] + [変換]です。
  2. 「救済措置」を使って[Esc] + [変換]で行う。

自分は1を採用しています。

*3:Microsoft IMEの場合は、[無変換]は「かな切替」(IMEの入力モードをカタカナなどにする)、[ひらがな]は「ひらがなキー」(IMEの入力モードをひらがなにする)という機能があります。[無変換]はIMEをONにすることができないので中途半端です。[ひらがな]はIME ONも兼ねるので機能としては使いやすいです。