キーカスタマイズ2020年版:その6 その他いろいろ

各アプリで一番よく使う機能をワンキーで行う「スペシャルキー」 
※重要度★★★☆☆

  • [中央列最上段](元[7]) → スペシャルキー

 中央列最上段は、アプリケーション別に一番よく使う機能を実行する「スペシャルキー」とします。

 よく使う機能は、そのアプリケーション自体にショートカットキーが設けられている場合が多いですが、そうは言っても[Ctrl] + [なんとか]などの2キーは必要なことが多い。[Alt]からアクセスキーを経由しないとたどり着けない機能もあります。それらの操作を1キーで行えるようになります。特に、複数の機能をいつもセットで使うような場合に効果が大きい。

 一番よく使う機能を、各アプリケーションで1つだけ、決まった1つのキーに配置するだけなので、覚える負担もほとんどありません。

 具体的には、例えば次のような機能を配置しています。

エクスプローラー:パスのコピー
ファイルを[Shift]を押しながら右クリックで出現する隠しコマンド(?) アクセスキーの「A」を使っているので、他にもアクセスのキーが「A」の項目があると最後まで動かない(´・ω・`)
『EdMax』:振り分け → 実行
Excel』:全範囲を選択して並び替え(昇順)
ただ、Excelは初期設定のキーボードで使う機会の多いアプリケーションなので、[Alt] + [A] → [S] → [A]とかも覚えたけど。
TeraPad』:指定桁で折り返しを解除 → ウィンドウを最大化/指定桁で折り返し → ウィンドウを元に戻す
「指定桁で折り返しを解除」するのは長い行を折り返さず見たいときなので、必ずウィンドウ最大化も一緒に行う。1キーでセットで行ってくれるのはとても助かる。*1
『JaneStyle』:いま見ているスレの板を開く
『柿木将棋IX』:盤面編集 → 詰将棋用配置
詰将棋用配置とは、盤面は受け方玉のみ初期位置、残り駒はすべて後手持ち駒という配置。スペシャルキーなしだと、キー操作は[Ctrl] + [E] → [Alt] + [B] → [M]になる。これをワンキーで行える。詰将棋を並べるときにとても便利。
GNU Backgammon』:ヒント
ヒントのショートカットは[Ctrl] + [H]だが、プレイ中は右手はマウスを使うのでやや押しにくい。

 なお、設定ファイル上は、そのアプリケーションのみで機能する設定もここにまとめて書いています。詳しい内容は設定ファイルを見て下さい。*2

コピーした文字列をGoogle検索など 
※重要度★★★★☆

  • [Esc] + [文字キー] → 選択した文字列をコピーして何かを行う

 [Esc] + [Q]で選択した文字列でGoogle検索をします(「searchit.dll」 使用)。コピーできるテキストさえあれば、どんなアプリケーションでも共通の操作で使えるのがポイント高い。とても便利です。

 さらに、テキストを選択して何かをする機能を[Esc] + [文字キー]に設定します。AmazonWikipediaYouTubeなどで検索をしたり、URLを指定のブラウザで開いたりします*3。詳しい内容は設定ファイルを見て下さい。

『のどか』をランチャーとして使う 
※重要度★★★★☆

  • [Ctrl] + [Alt] + [文字キー] → アプリケーションなどを起動する
  • [Shift] + [Alt] + [文字キー] → フォルダを開く

 よく使う・見るアプリケーションやウェブサイト、フォルダなどを起動するキーを設定します。[Shift] [Ctrl] [Alt] のうちの2キーと文字キーの組み合わせで起動しますが、[Shift] + [Ctrl]は他のアプリケーションのショートカットと重なることが多いので使わなくなりました。*4

 だいたい、文字キーのアルファベットなどから連想できるものが開くようにしています。使用頻度が低いものほど連想しやすいようにする傾向。よく使うものは自然に覚えられるので、意味のない記号キーなどに割り当てても大丈夫。

 なお、ランチャー機能は『のどか』以外の手段も使用しています。メモ用テキストファイルやメールソフトなど、最もよく使うアプリケーションなどは、ショートカットをタスクバーへのピン留めして、[Windows] + [数字キー]で起動しています。

y-koutarou.hatenablog.com

 また、『のどか』のランチャーは、設定できる数にも記憶できる数にも限界があるので、使用頻度の低いアプリケーションなどはショートカットをスタートメニューに放り込んで、スタートメニューをランチャーとして使っています。

y-koutarou.hatenablog.com

タイプウェル』で「やり直してスタート」 
※重要度★☆☆☆☆

  • タイプウェル』で親指[Enter](元[変換]) + [スペース] → 「[Esc] → [スペース]」

 『タイプウェル』をプレイしていると「やり直し」の[Esc]を多用します(よね……?)。いちいち[Esc]を押しに行くのが面倒なので、『タイプウェル』でだけ有効な[Esc]を設置することにします。押しやすい場所に配置したいところですが、あまりに打ちやすい場所に置くと、好記録が出そうだったのに間違って[Esc]を押して発狂することがあります。試行錯誤の結果、親指2キーを利用すれば、押しやすく、誤打することもないということになりました。ついでに、[スペース]も押して自動的に再スタートするようにしました。

入力言語の切り替えを無効にする 
※重要度★☆☆☆☆

  • [Windows] + [スペース] → 無効

 [Windows] + [スペース]で入力言語の切り替えができるのですが、この誤入力でIMEが意図せず切り替わっているという事態がよく生じたので、[Windows] + [スペース]を無効にします。

 なお、[Esc] + [Windows] + [スペース]なら入力言語の切り替えが発動します。詳しくは、次の「救済措置」を見てください。

y-koutarou.hatenablog.com

[Esc]で、失ったキーを元に戻す救済措置 
※重要度★☆☆☆☆

  • [Esc] + [元のキー] → [元のキー]

 数々のキーカスタマイズによりキーボードから消えてしまったキーがあります。それらのキーを押したくなったときのために、[Esc](元[半角/全角])を押しながらそのキーを押すと、元のキーを押したことになる救済措置を設けます*5。例えば、[Esc] + [変換]([Enter]に置き換えている)を押すと、単に[変換]を押したのと同じ事になります。

 救済措置を設けたキーは以下の通りです。

  • [無変換]
  • [変換]
  • [ひらがな]
  • [半角/全角]*6
  • [英数]
  • [Insert]
  • [PrintScreen]
  • [ScrollLock]
  • [Pause]
  • [NumLock]
  • [\](かな入力の「ろ」)
  • [Shift] + [0](かな入力の「を」)
  • [Windows] + [スペース]
  • エクスプローラ上などの[F1]

 モディファイヤは通常通り受け付けます。例えば、[Windows] + [スペース]は無効にしましたが、[Esc] + [Windows] + [スペース]を押すと[Windows] + [スペース]を押したことになって入力言語の切り替えが行われます。また、[変換]は[Enter]に変更しましたが、(IME ONの状態で)[Esc] + [Ctrl] + [変換]を押すと、[Esc]により[変換] → [Enter]の変更が無効になり、[Ctrl] + [変換]を押したことになるので、『Microsoft IME』のメニューが表示されます。

 もっとも、わざわざこんな設定を作らなくても、『のどか』を一時停止すれば済むことですけど。

『のどか』設定ファイル

    
# ◆スペシャルキー([中央列最上段])。アプリケーションごとによく使う機能を1つだけワンキーで行えるキーを作る/アプリケーションごとの設定もここに書く。
key RightWindows		= &Undefined		# 設定していないアプリケーションでは何もしない。何となくベルが鳴る方にしてみました。

window Explorer /Explorer\.EXE/ : Global		# ■エクスプローラー
key RightWindows		= S-Applications &Sync &Wait(20) S-A 	# 【スペシャルキー】パスのコピー(Aのアクセスキーを使う項目が他にあるとうまく動かない(´・ω・`))
key ~M2-*F1			= &Ignore		# [F1](ヘルプを開く)を無効にする。

window Firefox /firefox\.exe/ : Global			# ■『Firefox』
# def option drag-threshold = 1
key RightWindows		= D-LButton D-RButton U-LButton	# 【スペシャルキー】現在のページのタイトルとURLをコピーする(『Foxy Gestures』でそういう設定を作る。http://texst.net/firefox57-quantum-firegestures-foxygestures/)

window IE /IEXPLORE\.EXE/ : Global			# ■『Internet Explorer』
key RightWindows		= Applications S-T &Sync &Wait(50) S-Y	# 【スペシャルキー】ショートカットの作成

window EdMax /edmax\.exe/ : Global			# ■『EdMax』
key RightWindows		= C-S-F Space		# 【スペシャルキー】振り分け → 実行

window OpenOffice_Calc /soffice\.bin/ : Global		# ■『OpenOffice.org Calc』
key RightWindows		= &SetImeStatus(off) &Wait(5) C-A A-D S-S C-PageDown S-B C-PageUp	# 【スペシャルキー】全範囲を選択して並び替えを開いて「列ラベルを含む範囲」にチェックを入れる。

window Excel /EXCEL\.EXE/ : Global			# ■『Excel』
key RightWindows		= C-A A-A A-S A-A	# 【スペシャルキー】全範囲を選択して並び替え(昇順)
key ~M2-*F1			= &Ignore		# [F1](ヘルプを開く)を無効にする。
key C-E		   	= F2			# [Ctrl] + [E]で[F2](セルを編集状態にする)

window TeraPad /TeraPad\.EXE/ : Global			# ■『TeraPad』
key ~MAX-~L6-RightWindows	= &WindowMaximize &Toggle(L6, on) C-S-W	# 【スペシャルキー】指定桁で折り返しを解除してウィンドウを最大化/指定桁で折り返ししてウィンドウを元に戻す
key ~MAX-L6-RightWindows	= &WindowMaximize &Toggle(L6, on)	# ※MAX-でウィンドウ状態、L0-で指定桁で折り返しの状態を判断して、変更後のウィンドウの状態に指定桁で折り返しを合わせ、L0をかけ直す。
key MAX-~L6-RightWindows	= &WindowMaximize &Toggle(L6, off)
key MAX-L6-RightWindows		= &WindowMaximize &Toggle(L6, off) C-S-W
key C-S-W			= &Toggle(L6) C-S-W			# 指定桁で折り返しON/OFFだけをした場合はL0だけ変える。

window Jane2ch /Jane2ch\.exe/ : Global			# ■『Jane Doe Style』
key RightWindows		= A-T S-B		# 【スペシャルキー】いま見ているスレの版を開く。
key Esc				= C-F			# [Esc]で検索バー
key A-X				= A-V X			# [Alt] + [X]で右側切替
key A-Z				= A-Z ↓ ↓		# 「お気に入り」はフォルダにカーソルを合わせた状態にする。
key F5				= C-R			# [F5]で再読込み

window Nami2000 /Nami2000\.exe/ : Global		# ■『Nami2000』
key S-Enter			= C-S-Z			# [Shift] + [Enter](再変換)が押されたら、[Ctrl] + [Shift] + [Z]が押された事にする。

window TWellFT /TWellFT\.exe/ : Global			# ■『タイプウェルFT』
key RightWindows		= A-F C			# 【スペシャルキー】テキスト選択→編集
key C-*A			= Applications *A	# [Ctlr] + [A]ですべて選択

window TWellJR /TWellJR\.exe/ : Global			# ■『タイプウェル』4種
key M1-Space			= Esc Space		# 親指[Enter] + [Space]で[Esc] → [Space]
mod Mod0			-= !!Space		# [Space]のワンショットモディファイア無効

window TWellJK /TWellJK\.exe/ : Global
key M1-Space			= Esc Space		# 親指[Enter] + [Space]で[Esc] → [Space]
mod Mod0			-= !!Space		# [Space]のワンショットモディファイア無効

window TWellEW /TWellEW\.exe/ : Global
key M1-Space			= Esc Space		# 親指[Enter] + [Space]で[Esc] → [Space]
mod Mod0			-= !!Space		# [Space]のワンショットモディファイア無効

window TWellOR /TWellOR\.exe/ : Global
mod Mod0			-= !!Space		# [Space]のワンショットモディファイア無効
mod Mod2			-= !!Num0		# オリジナルでは[Num0]のワンショットモディファイヤも無効
mod Mod1			-= !!変換
mod shift			+= !!Space		# オリジナルではセンターShiftにする
key R-*Space			= &Ignore
mod shift			+= !!変換
key R-*変換			= &Ignore

window TypeLighter /TypeLighter\.exe/ : Global		# ■『TypeLighter』
mod Mod0			-= !!Space		# [Space]と[Num0]のワンショットモディファイア無効
mod Mod2			-= !!Num0
key Enter			= Esc

window KShogi9 /KShogi9\.exe/ : Global			# ■『柿木将棋IX』
key RightWindows		= C-E A-B A-M		# 【スペシャルキー】盤面編集→詰将棋用配置

window gnubg /gnubg\.exe/ : Global			# ■『GNU Backgammon』
key RightWindows		= C-H			# 【スペシャルキー】ヒント

window MaouTypeR /MaouTypeR\.exe/ : Global		# ■『魔王復活阻止ゲーム version_R』
mod Mod0			-= !!Space		# [Space]と[Num0]のワンショットモディファイア無効
mod Mod2			-= !!Num0

window San2 /San2\.EXE/ : Global			# ■『三國志II』
mod shift			-= !!F1
key F1				= A-F &Sync &Wait(5) S-O			# ファイル-ロード
key F2				= A-F &Sync &Wait(5) S-S			# ファイル-セーブ
key F3				= A-N &Sync &Wait(5) S-A			# 内政-施し
key F4				= A-N &Sync &Wait(5) S-M &Sync &Wait(5) S-A	# 内政-商人-武器を買う
key F5				= A-W &Sync &Wait(5) S-D			# 軍事-訓練
key F6				= A-P &Sync &Wait(5) S-S			# 人事-捜索
key F7				= A-P &Sync &Wait(5) S-R			# 人事-褒美
key F8				= A-I &Sync &Wait(5) S-C			# 情報-武将一覧
key F9				= A-S &Sync &Wait(5) S-A			# 特別-軍資助言
key F10				= A-S &Sync &Wait(5) S-G			# 特別-うわさ
key F11				= A-S &Sync &Wait(5) S-T			# 特別-治療
key F12				= A-S &Wait(5) S-W				# 特別-待機

window Gunyuu /Gunyuu\.EXE/ : Global			# ■『信長の野望 戦国群雄伝』
mod shift			-= !!F1
key F1				= A-F &Sync &Wait(5) S-I			# ファイル-初期設定に戻る
key F2				= A-F &Sync &Wait(5) S-S			# ファイル-セーブ
key F3				= A-N &Sync &Wait(5) S-R &Sync &Wait(5) S	# 内政-取引-兵糧売り
key F4				= A-N &Sync &Wait(5) S-R &Sync &Wait(5) B	# 内政-取引-兵糧買い
key F5				= A-W &Sync &Wait(5) S-K			# 軍事-訓練
key F6				= A-J &Sync &Wait(5) S-S			# 人事-人材捜索
key F7				= A-J &Sync &Wait(5) S-H			# 人事-褒美を与える
key F8				= A-I &Sync &Wait(5) S-G			# 情報-武将の一覧
key F9				= A-I &Sync &Wait(5) S-N			# 情報-各国の情報
key F10				= A-W &Sync &Wait(5) S-C			# 軍事-徴兵
key F11				= A-W &Sync &Wait(5) S-S			# 軍事-再編成
key F12				= A-T						# 待機
# ◆デスクトップアイコンを詳細表示にする

def option DesktopListView = 1	# 0: 通常表示、1: 詳細表示、2: 小さなアイコン表示、3: リスト表示、4: タイル表示

# ◆モディファイヤと[Enter]の押しっ放しを検出してキーアップを送る

def option CheckModifier = enable 15

def key WinDownOver	= E1-0x19
def key ShiftDownOver	= E1-0x1a
def key CtrlDownOver	= E1-0x1b
def key AltDownOver	= E1-0x1c
def key EnterDownOver	= E1-0x1e

key U-*WinDownOver	= &HelpMessage("nodoka","Win検出") U-LWin U-RWin
key U-*ShiftDownOver	= &HelpMessage("nodoka","Shift検出") U-LShift U-RShift
key U-*CtrlDownOver	= &HelpMessage("nodoka","Ctrl検出") U-LCtrl U-RCtrl
key U-*AltDownOver	= &HelpMessage("nodoka","Alt検出") U-LAlt U-RAlt
key U-*EnterDownOver	= &HelpMessage("nodoka","Enter検出") U-Enter

# ◆[Esc] + [文字キー]で選択文字列をコピーしてWeb検索(searchit.dll使用)
# ※ユーザー定義ファイルの作り方がよくわからないので(´・ω・`)、使えないサイトは文字列をコピーしてトップページを開くだけ

mod Mod2			+= !!半角/全角										# [Esc](元[半角/全角])	[Esc & Mod2]	※検索プラグインのなどのモディファイヤ
key R-*Esc			= &Ignore

key M2-_1			= C-C &Sync &Wait(20) &PlugIn(searchit, amazon_jp, $Clipboard, true)			# Amazon
key M2-_2			= C-C &Sync &ShellExecute("open", "http://www.rakuten.co.jp/",,, ShowNormal)		# 楽天市場
key M2-_3			= C-C &Sync &ShellExecute("open", "http://www.yodobashi.com/",,, ShowNormal) 		# ヨドバシ.com
key M2-_4			= C-C &Sync &ShellExecute("open", "https://www.kinokuniya.co.jp/",,, ShowNormal) 	# 紀伊國屋書店ウェブストア
key M2-_5			= C-C &Sync &ShellExecute("open", "http://kakaku.com/",,, ShowNormal) 			# 価格.com
key M2-_6			= C-C &Sync &ShellExecute("open", "https://auctions.yahoo.co.jp/",,, ShowNormal) 	# ヤフオク!

key M2-Q			= C-C &Sync &Wait(20) &PlugIn(searchit, google_jp, $Clipboard, true)			# Google
key M2-W			= C-C &Sync &Wait(20) &PlugIn(searchit, wikipedia_jp, $Clipboard, true)			# Wikipedia(日本語)
key M2-E			= C-C &Sync &Wait(20) &PlugIn(searchit, wikipedia_en, $Clipboard, true)			# Wikipedia(英語)
key M2-R			= C-C &Sync &ShellExecute("open", "https://archive.org/index.php",,, ShowNormal) 	# Internet Archive

key M2-A 			= C-C &Sync &Wait(20) &PlugIn(searchit, youtube, $Clipboard, true)			# YouTube
key M2-S 			= C-C &Sync &ShellExecute("open", "http://www.nicovideo.jp/",,, ShowNormal) 		# niconico

# 以下はsearchit.dllとは無関係
key M2-Z			= C-C &Sync &ShellExecute("open","C:\\Program Files\\Mozilla Firefox\\firefox.exe",$Clipboard,, ShowNormal) 			# URLを『Firefox』で開く
key M2-X			= C-C &Sync &ShellExecute("open","C:\\Program Files\\Internet Explorer\\iexplore.exe",$Clipboard,, ShowNormal) 			# URLを『Internet Explorer』で開く
key M2-C			= C-C &Sync &ShellExecute("open","C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe",$Clipboard,, ShowNormal) 	# URLを『Google Chrome』で開く
# 『Microsoft Edge』で開く設定も作りたいのだけどできない(´・ω・`)

# ◆間違って発動しやすい機能を無効にする
key ~M2-W-*Space			= &Ignore	# 入力言語の切り替え
# key ~M2-W-*Enter			= &Ignore	# ナレーター	# いつの間にかナレーターの開始は[Ctrl] + [Windows] + [Enter]に変更されたらしい

# ◆スタートメニューを開くとき(なぜか)『やまぶきR』の配列変更が有効なまま?スタートメニューにフォーカスされることがあるので、スタートメニューを開く前にIMEオフにしておく
key U-LeftWindows		= &SetImeStatus(off) &Wait(50) U-LeftWindows

# ■■■以下は没設定■■■

# ◆確定アンドゥを強引に実装
# ※やはり挙動が怪しいことがあるので廃止。
# key IL-~IC-C-BackSpace		= C-Z C-F8 BackSpace Space

# ◆[Ctrl]+[↑][↓][←][→]で編集キー([Alt]で[Ctrl]+の意味)
# ※やっぱり[Ctrl]+[カーソル]は使うこともあるので廃止。代わりにM0+[カーソル]を設定した。
# key ~A-C-*←			= ~C-*Home
# key ~A-C-*→			= ~C-*End
# key ~A-C-*↑			= ~C-*PageUp
# key ~A-C-*↓			= ~C-*PageDown
# key A-C-*←			= C-*Home
# key A-C-*→			= C-*End
# key A-C-*↑			= C-*PageUp
# key A-C-*↓			= C-*PageDown

# ◆[Alt]+[Tab]の拡張
# ※たまに挙動が怪しいことがあるので保留。
# key ~L0-A-*Tab			= A-*Tab &Toggle(Lock0,on)	# &HelpMessage(nodoka, "L0 on")
# key L0-~D-U-*LeftAlt		= &Toggle(Lock0,off)		# &HelpMessage(nodoka, "L0 off")
# key L0-~D-U-*RightAlt		= &Toggle(Lock0,off)		# &HelpMessage(nodoka, "L0 off")
# key L0-*→			= *Tab
# key L0-*←			= S-*Tab
# key L0-*↓			= *Tab
# key L0-*↑			= S-*Tab
# key L0-*K			= *Tab
# key L0-*J			= S-*Tab
# key L0-*英数			= S-*Tab
# 【ランチャー】

# ■[Ctrl] + [Shift] + [文字キー](アプリケーション起動かWebページを開く)

# ◆最上段
# key C-A-_1			= &ShellExecute("open","",,, ShowNormal)
# key C-A-_2			= &ShellExecute("open","",,, ShowNormal)
# key C-A-_3			= &ShellExecute("open","",,, ShowNormal)
# key C-A-_4			= &ShellExecute("open","",,, ShowNormal)
# key C-A-_5			= &ShellExecute("open","http://ringonoki.net/",,, ShowNormal)						# 林檎の木
# key C-A-_6			= &ShellExecute("open","",,, ShowNormal)

# key C-A-_7			= &ShellExecute("open","",,, ShowNormal)
key C-A-_8			= &ShellExecute("open","http://baseball-freak.com/chart/0.html",,, ShowNormal)				# 貯金・順位推移グラフ-全期間 プロ野球Freak
# key C-A-_9			= &ShellExecute("open","",,, ShowNormal)		# 
# key C-A-_0			= &ShellExecute("open","",,, ShowNormal)
# key C-A-HyphenMinus		= &ShellExecute("open","",,, ShowNormal)
# key C-A-CircumflexAccent	= &ShellExecute("open","",,, ShowNormal)
# key C-A-Colon			= &ShellExecute("open","",,, ShowNormal)

# ◆左手
# key C-A-Q			= &ShellExecute("open","",,, ShowNormal)
key C-A-W			= &ShellExecute("open","http://www.tohoho-web.com/www.htm",,, ShowNormal)				# とほほのWWW入門
# key C-A-E			= &ShellExecute("open","",,, ShowNormal)
key C-A-R			= &ShellExecute("open","http://www.shogi.or.jp/index.html",,, ShowNormal)				# 日本将棋連盟
# key C-A-T			= &ShellExecute("open","https://full-count.jp/baseball/top/main.html",,, ShowNormal)			# フルカウント・ライブ・ベースボール ※2017年までhttp://www.tbs.co.jp/baseball/top/main.html

key C-A-A			= &ShellExecute("open","http://tokyo-ame.jwa.or.jp/",,, ShowNormal)					# 東京アメッシュ
key C-A-S			= &ShellExecute("open","http://www.yakult-swallows.co.jp/",,, ShowNormal)				# 東京ヤクルトスワローズ公式サイト Tokyo Yakult Swallows
key C-A-D			= &ShellExecute("open","http://nf3.sakura.ne.jp/",,, ShowNormal)					# - nf3 - Baseball Data House Phase1.0
key C-A-F			= &ShellExecute("open","https://baseball.yahoo.co.jp/npb/schedule/",,, ShowNormal)			# プロ野球 - 日程・結果 - スポーツナビ
key C-A-G			= &ShellExecute("open","http://npb.jp/announcement/starter/",,, ShowNormal)				# 予告先発投手 | 公示 | NPB.jp 日本野球機構

# key C-A-Z			= &ShellExecute("open","",,, ShowNormal)			# 
key C-A-X			= &ShellExecute("open","https://docs.google.com/spreadsheets/u/0/",,, ShowNormal)			# Google スプレッドシート
key C-A-C			= &ShellExecute("open","https://radiocloud.jp/",,, ShowNormal)						# TBSクラウド
key C-A-V			= &ShellExecute("open","http://www.vector.co.jp/magazine/softnews/?tab",,, ShowNormal)			# Vector: ソフトライブラリ - 国内最大級の フリーソフト ダウンロードサイト
key C-A-B			= &ShellExecute("open","http://www.jwbl.jp/",,, ShowNormal)						# 日本女子プロ野球リーグ JWBL

# ◆右手
key C-A-Y			= &ShellExecute("open","http://weather.yahoo.co.jp/weather/jp/13/4410.html",,, ShowNormal)		# 東京(東京)の天気 - Yahoo!天気・災害
# key C-A-U			= &ShellExecute("open","",,, ShowNormal)		# 
# key C-A-I			= &ShellExecute("open","",,, ShowNormal)		# 
# key C-A-O			= &ShellExecute("open","",,, ShowNormal)		# 
# key C-A-P			= &ShellExecute("open","",,, ShowNormal)		# 
# key C-A-CommercialAt		= &ShellExecute("open","",,, ShowNormal)		# 

# key C-A-H			= &ShellExecute("open","",,, ShowNormal)		# 
key C-A-J			= &ShellExecute("open","http://www.ne.jp/asahi/yaston/shogi/index.html",,, ShowNormal)			# 将棋順位戦データベース
key C-A-K			= &ShellExecute("open","C:\Program Files (x86)\Kakinoki\KShogi9\KShogi9.exe",,, ShowNormal)		# 柿木将棋IX
# key C-A-L			= &ShellExecute("open","",,, ShowNormal)		# 
# key C-A-Semicolon		= &ShellExecute("open","",,, ShowNormal)		# 

# key C-A-N			= &ShellExecute("open","",,, ShowNormal)		# 
key C-A-M			= &ShellExecute("open","https://typing.twi1.me/list/tagName/%E5%85%AC%E5%BC%8F%E6%AF%8E%E9%80%B1?sort=new",,, ShowNormal)	# 今週のタイピング練習 | タイピング練習の「マイタイピング」 
key C-A-Comma			= &ShellExecute("open","http://b.hatena.ne.jp/y_koutarou/",,, ShowNormal)				# y_koutarouのはてなブックマーク
key C-A-FullStop		= &ShellExecute("open","http://y-koutarou.hatenablog.com/",,, ShowNormal)				# 紙とエンピツ
key C-A-Solidus			= &ShellExecute("open","http://kouy.exblog.jp/",,, ShowNormal)						# ローマ字入力でもなく、かな入力でもなく

# key C-A-YenSign		= &ShellExecute("open","",,, ShowNormal)				# 元[左Alt]や元[左Ctrl]のモディファイヤを残すと動かない(?)ので廃止
# key C-A-LeftSquareBracket 	= &ShellExecute("open","",,, ShowNormal)				# 元[Application]は動くけれどセットで廃止します
# key C-A-RightSquareBracket 	= &ShellExecute("open","",,, ShowNormal)				# 

# ■ [Ctrl] + [Alt] + [文字キー](フォルダを開く)

# ◆最上段
# key S-A-_1			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-_2			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-_3			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-_4			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-_5			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-_6			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 

# key S-A-_7			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-_8			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-_9			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-_0			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-HyphenMinus		= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-CircumflexAccent	= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-Colon			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 

# ◆左手
# key S-A-Q			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-W			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-E			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-R			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-T			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 

# key S-A-A			= &ShellExecute("open","C:\\Windows\\explorer.exe","C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\StartUp\\",, ShowNormal)		# スタートアップ - All User
# key S-A-S			= &ShellExecute("open","C:\\Windows\\explorer.exe","C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\",, ShowNormal)		# スタートメニュー - All User
# key S-A-D			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-F			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-G			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 

# key S-A-Z			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-X			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-C			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-V			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-B			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 

# ◆右手
# key S-A-Y			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
key S-A-U			= &ShellExecute("open","C:\\Windows\\explorer.exe","C:\\Users\\",, ShowNormal)		# 
# key S-A-I			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-O			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
key S-A-P			= &ShellExecute("open","C:\\Windows\\explorer.exe","C:\\Program Files (x86)\\",, ShowNormal)		# Program Files (x86)
# key S-A-CommercialAt		= &ShellExecute("open","C:\\Windows\\explorer.exe","C:\\Program Files\\",, ShowNormal)		# Program Files

# key S-A-H			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-J			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-K			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-L			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-Semicolon		= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 

# key S-A-N			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-M			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-Comma			= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
key S-A-FullStop		= &ShellExecute("open","C:\\Windows\\explorer.exe","E:\\",, ShowNormal)				# Eドライブ
key S-A-Solidus			= &ShellExecute("open","C:\\Windows\\explorer.exe","F:\\",, ShowNormal)				# Fドライブ

# key S-A-YenSign		= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-LeftSquareBracket 	= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 
# key S-A-RightSquareBracket 	= &ShellExecute("open","C:\\Windows\\explorer.exe","",, ShowNormal)		# 

キーカスタマイズ2020年版 目次《全7回予定》

*1:なお、ロックキーのL6を使って現在折り返しを行っているかを記録して、「L6-」とウィンドウが最大化されていることを示すモディファイヤ「MAX-」を見て、複数のウィンドウが別状態になってもスペシャルキーを押すだけで正しい状態になるようにしています(たまにロックキーと折り返し状態がずれてマウスで「指定桁で折り返し」を選択する事態になりますが……)。

*2:例:

*3:テキストは使わず、テキストをコピーしてWebサイトを開くだけにしている部分もあります。

*4:この設定は、ショートカットファイルのプロパティで設定できる「ショートカットキー」でもほぼ同じ事ができます。以前はそれを使っていましたが、ショートカットファイルの場所がスタートメニューなどに限定されるのと、 現在のショートカットの設定を確認・変更したり、別のPCにコピーしたりするのが面倒なので(いま使ってるPCを買う前まではHotKeysには大変お世話になりました)、この「ショートカットキー」は使わなくなりました

*5:設定ファイルのところどころにある「~M2-」という記述がそれです。「~M2-」は「Mod2が押されていなかったら」という意味なので、Mod2すなわち[Esc]が押されているとその行の記述は無効になります。

*6:これのみ、救済措置のモディファイヤキーは[スペース]です。[半角/全角]自身が[Esc]に変更されているので。

キーカスタマイズ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)

# ◆[Num Enter]を押しながら(文字は半角確定文字)	●元のキー			●変更後のキー
# ※やっぱり[Num Enter]では操作性に劣るので廃止して[Num 0]に
# mod Mod5			+= !!NumEnter		# [Num Enter]			[NumEnter & Mod5]
# key R-*NumEnter			= &Ignore
# key M5-*Num9			= *PageUp		# [Num Enter] + [Num 9]		[PageUp]
# key M5-*Num8			= *↑			# [Num Enter] + [Num 8]		[↑]
# key M5-*Num7			= *Home			# [Num Enter] + [Num 7]		[Home]
# key M5-*Num6			= *→			# [Num Enter] + [Num 6]		[→]
# key M5-*Num5			= *↓			# [Num Enter] + [Num 5]		[↓]
# key M5-*Num4			= *←			# [Num Enter] + [Num 4]		[←]
# key M5-*Num3			= *PageDown		# [Num Enter] + [Num 3]		[PageDown]
# key ~IL-M5-*Num2		= ~S-*Colon		# [Num Enter] + [Num 2]		「:」
# key IL-M5-*Num2		= &SetImeStatus(off) &Wait(5) ~S-*Colon &Sync &SetImeStatus(on)
# key M5-*Num1			= *End			# [Num Enter] + [Num1]		[End]
# key M5-*Num0			= *Tab			# [Num Enter] + [Num 0]		[Tab]
# key M5-*NumFullStop		= *Delete		# [Num Enter] + [Num .]		[Delete]
# key ~IL-M5-*NumPlusSign	= ~S-YenSign		# [Num Enter] + 元[NumLock]	「\」
# key IL-M5-*NumPlusSign	= &SetImeStatus(off) &Wait(5) ~S-YenSign &Sync &SetImeStatus(on)
# key ~IL-M5-*NumSolidus	= S-*_8			# [Num Enter] + [Num /]		「(」
# key IL-M5-*NumSolidus		= &SetImeStatus(off) &Wait(5) S-*_8 &Sync &SetImeStatus(on)
# key ~IL-M5-*NumAsterisk	= S-*_9			# [Num Enter] + [Num *]		「)」
# key IL-M5-*NumAsterisk	= &SetImeStatus(off) &Wait(5) S-*_9 &Sync &SetImeStatus(on)
# key ~IL-M5-*NumHyphenMinus	= ~S-*Comma		# [Num Enter] + [Num -]		「,」
# key IL-M5-*NumHyphenMinus	= &SetImeStatus(off) &Wait(5) ~S-*Comma &Sync &SetImeStatus(on)
# key ~IL-M5-*BackSpace		= *P			# [Num Enter] + 元[Num +]	[P]
# key IL-M5-**BackSpace		= &SetImeStatus(off) &Wait(5) P &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年版 目次《全7回予定》

*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]は小指担当の[;]に配置しています。テンキーを真似るなら親指[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]と[,])、この方が使いやすいと思いました。

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

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

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

 親指[Enter]を押しながら左手文字キー、あるいは親指キー(左右どちらでも同じ*1)を押しながら最上段で記号入力します。

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

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

 注意が必要な記号について。[8]の「‐」は全角ハイフン、[0]の「―」は全角ダッシュ。ともに全角マイナス(-)や長音符(ー)とは違う記号です。[7]の「“」は全角二重引用符(始め)です。なお、全角文字入力モード(かな入力以外)の[Shift] + [2]で入力できる「”」は全角二重引用符(終わり)です。半角文字入力モードの[Shift] + [2]で入力できる「"」(ダブルクォーテーション)には始めと終わりの区別はありません。*2

 [スペース] + [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』のアイコンが一番左に存在することが前提です*3*4。フォーカスを元のウィンドウに戻すために、最後に[Alt] + [Tab]を入れています。

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

 『タイプウェル』や英文タイプ(実用タイプも含みます)のようなスペースを多く含むタイピングをする際は、スペースにモディファイヤがあるとスペースの入力の邪魔になります。そこで、[スペース] + [F9] で[スペース]のモディファイヤ(Mod0)を無効にします*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キーはウィンドウ操作)
key M1-*Y			= &MouseWheel(120)		# マウスホイール奥
key M1-*U			= &MouseMove(-20,-20)		# マウスカーソル左上
key M1-*I			= &MouseMove(0,-20)		# マウスカーソル上
key M1-*O			= &MouseMove(20,-20)		# マウスカーソル右上
key M1-*P			= &VK(RButton)			# マウス右クリック
# key M1-*CommercialAt		= 

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

key M1-*N			= &VK(MButton)			# マウスホイールクリック
key M1-*M			= &MouseMove(-20,20)		# マウスカーソル左下
key M1-*Comma			= &MouseMove(0,20)		# マウスカーソル下
key M1-*FullStop		= &MouseMove(20,20)		# マウスカーソル右下
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年版 目次《全7回予定》

*1:最上段を同手の親指キーで入力するのはややつらいので逆手で押すことを想定しています

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

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

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

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

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

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

y-koutarou.hatenablog.com

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

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

 [英数]は「IME ONにしてひらがな入力」、[右Shift]は「IME ONにして英語入力」にしたので、結局両方ともIME ONにするキーです。IME OFFにするキーがまだありません。英語入力モードではなく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年版 目次《全7回予定》

*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キーボードの場合は右手の最下段に[右Windows]もありますが、自分が使っているREALFORCE 108USには[右Windows]はありません。

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

  • [Insert] → [Application]

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

 その[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]はない。
def subst *Applications		= *LeftSquareBracket	# [Application]	[ [ ]
mod control			+= !!RightControl	# [右Ctrl]	[ ] & Ctrl ]
key R-*RightControl		= &Ignore
def subst ~R-*RightControl	= *RightSquareBracket

キーカスタマイズ2020年版 目次《全7回予定》

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

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

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

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

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