fc2ブログ
2006.12.20

繭Tips 第6回 テンキーとNumLock

普段はデスクトップなのだが、仕事でどうしてもノートを使う必要が出来たので使い始めた。東芝のダイナブック。余計なプリインストールアプリも富士通などに比べれば少なく、概ね良好なのだが唯一の不満はスペースキーが左に寄りすぎていること。無変換が打ちにくい。無変換を文節確定とMod0(カーソルやウインドウの移動)にあてているので多用するのだが。さすがに左手は左に一列ずらせないしなあ。

で、ついでにテンキーも買った。まあそんなには使わないんだけどあればあったで使うかなあと思って。

テンキーにはNumLock問題というのがある。ノートPCの右手部分は、NumLockがかかると数字入力が出来るようになる。
で、これのどこが問題かというと、テンキーから数字を入力するときはNumLockを掛けなければならない。じゃないと「Home」「↑」「PgUp」などが入力されてしまう。
テンキーで数字を入力するためにNumLockを掛けると、フルキーボードの右手側も数字入力になってしまう。

今販売されているテンキー、ほとんどが「NumLock問題対応」と謳われていると思う。対応法は大きく二つ。


  1. テンキーからの入力は、フルキーボード数字段をエミュレートする。

  2. テンキー独自のNumLockを持たせる。


僕の知る限り、以前は1.の対処法が多かった。最近は2.が多い。

1.にはいくつか問題点がある。まず、かな入力(旧JIS)で数字入力が出来ない。「123」と打っても「ぬふあ」と入力されてしまうので。また、かな入力でなくても、例えばIMEの設定で「テンキーからの入力は必ず半角」としていても有効にならない。テンキーから送られるのがフルキー数字のキーコードだから。

最近よく見るようになった2.のタイプ。1.の場合もそうだが、テンキー自体が独自NumLockを持つ。独自NumLockが掛かっているときに、なにが起こっているのだろう。

mayuで調査してみると

NumLock
Num1
NumLock

テンキーが押されると、一瞬NumLockをかけ、数字を入力。そして速やかにNumLockを外す、と言うことがされていた。

この方式だとかな入力でもローマ字入力でも問題なくちゃんとテンキー側のキーコードで入力できる。


やってることは単純なので、同じことをmayuでやってみよう。
繭のLockを使って独自NumLockを作る。

key NumLock = &Toggle( Lock0 )

key L0- =
key Num1 = NumLock Num1 NumLock
key Num2 = NumLock Num2 NumLock
       ・
       ・
       ・
key NumEnter = NumLock NumEnter NumLock


1.のタイプでも、独自NumLockを掛けていないときはテンキーのコードが送られていると思う。この設定をすれば、1.のテンキー使用者も、「テンキーからの入力は半角英数固定入力で」を有効に出来る。



上の設定例に出てきた

key L0- =

これは、マニュアルにも書いてあるし繭使いの憂鬱でも取り上げているのでみんな知っているだろう。モディファイヤの状態を纏めて設定することが出来る。

key L0-* =
key Num1 = NumLock *Num1 NumLock

こういう書き方も出来る。"*"の、モディファイヤの状態を伝える働きが生かせる。


極端な例では

key * =
key a = b
key b = c

こう言う書き方も出来る。

key *a = b
key *b = c

こう書くのと同じ。



「まとめて記述」ついでにもう一つ。
key a b c d e f g h i j k l m n = a

aからnまでの、どのキーを押してもaが入力されるという意味。
左辺は纏めて記述することが出来る。

109.mayuには
def key HyphenMinus Hyphen Minus = 0x0c # -=
こういうのがあるが、まとめがきはdefだけでなくkeyでも使えるのだった。実用性は乏しいかも。

mod Mod0 = a b c d e

modは右辺が列記できる。
スポンサーサイト



この記事へのトラックバックURL
http://jisx6004.blog8.fc2.com/tb.php/76-a3ef9fe3
この記事へのトラックバック
この記事へのコメント
管理者にだけ表示を許可する