blechmusikの日記

キー・カスタマイズ・ソフトウェア "DvorakJ" の覚え書きをはじめとして様々なことを書いています。

Ctrl + 数字キー で F1 や F10 を出力する

目次

  • はじめに
  • 入力するキーと出力するキーを考える
  • 独自のショートカットキー用の設定ファイルを作成する
  • 独自のショートカットキーの機能を有効にする
  • おわりに
  • 発展問題

はじめに

DvorakJ を使うことで、Ctrl と数字キーで F1 や F9 を出力できないかという問い合わせを受けた。Ctrl-1でF1を、Ctrl-9でF9を出力するということである。なるほど、独立したファンクションキーが設けられていないキーボードとしてノートパソコンのキーボードやHappy Hacking Keyboardが想起されるが、そのようなキーボードを使用している方にとってこれは有用な処理かもしれない。Ctrlキーに比べるとそれほど使用しないであろうファンクションキー用のキーに手を伸ばす必要がなくなるのである。
結論を先に書こう。DvorakJではそのとおりに出力できる。以下、この処理を DvorakJ で実現するまでの手順を記す。

入力するキーと出力するキーを考える

DvorakJ でその処理を実現するためにまず考えるのは、どのようなキー入力の処理を変更したいか、である。現行の DvorakJ は、入力するキーに応じて設定画面の項目を分けている。入力するキーとして設定できるものを並べてみよう。

  • 直接入力時の文字キーと数字キー(直接入力用配列)
  • 日本語入力時の文字キーと数字キー(日本語入力用配列)
  • Back Space や Caps Lock キー
  • ファンクションキー
  • テンキー
  • Alt や Ctrl といった修飾キーと組み合わせる文字キーと数字キー(独自のショートカットキー)
  • 無変換及び変換と組み合わせる文字キーと数字キー(日本語キーボード用の機能)

このうち、Ctrlと数字キーを組み合わせる処理は独自のショートカットキーの機能によって取り扱う。

つぎに何を出力したいかを考える。 今回出力しようとしているのは数字そのものではなくて F1 のようにファンクションキーだ。DvorakJ では数字そのものを出力するには設定ファイルをその数字をただ書けばよい。ファンクションキーを出力するならDvorakJ:レファレンスマニュアル:キー配列:出力する文字やキーの説明どおりに{F1}や{F9}と記述する。

独自のショートカットキー用の設定ファイルを作成する

独自にショートカットキーを設定するとき、DvorakJのフォルダ\user 以下に設定ファイルを置くこと。ここでは"Ctrlと数字でファンクションキーを出力.txt"というファイル名の設定ファイルとしよう。
そのファイルには、DvorakJ:レファレンスマニュアル:キー配列:ショートカットキーを踏まえて、以下の内容を書き込むことになる。 /* と */ の間にはコメント部分で、設定内容に影響しない。 各行の縦棒の左側に入力するキーを、右側には出力するキーの情報を書く。

[
    /* Ctrl と 数字 でファンクションキーを出力 */
    {ctrl} 1 | {f1}
    {ctrl} 2 | {f2}
    {ctrl} 3 | {f3}
    {ctrl} 4 | {f4}
    {ctrl} 5 | {f5}
    {ctrl} 6 | {f6}
    {ctrl} 7 | {f7}
    {ctrl} 8 | {f8}
    {ctrl} 9 | {f9}
    {ctrl} 0 | {f10}
]

独自のショートカットキーの機能を有効にする

設定ファイルを作成し終えたら DvorakJ にその設定ファイルを読み込ませて使い始める必要がある。DvorakJ の設定画面の「ショートカットキー」で、「独自のショートカットキー」を有効にし、その下にある「選択」ボタンから作成した設定ファイルを選べば良い。
このように作業すれば望み通りの動作が実現する。

おわりに

DvorakJ によって Ctrl と数字キーで F1 や F9 を出力する手順を説明した。DvorakJを使用するにあたって考えることは二つ、すなわち 1.どのようなキー入力を改変したいか、 2.何を出力したいのか、である。このことを念頭に置けばたいていの処理を自力で設定できると思う。

発展問題

Emacs小指」というものに対処してみよう。Emacs - Wikipedia の項目「操作」の「Emacs小指」によると、「重度のEmacs利用者は小指に痛みをおぼえることがある」とのことである。たしかに Emacs ではさまざまな操作で Ctrl や Alt を多数用いる。C-x (Ctrl を押しながら X を押す) や C-k、C-n(カーソルキーの↓にあたる)や C-p(カーソルキーの↑にあたる)を数え切れないほど入力するさまを想像してみてほしい。大抵の人は Ctrl まで指を移動させること自体が億劫になると思う。それでは、 Ctrl や Alt まで指を動かさずに Emacs を操作できるだろうか。仮に操作できるとすれば、より快適に操作する方法としてどのようなものがあるだろう。