切り替え器をもちいて、PC と X 端末を同じ keyboard や マ ウスを使うときには、PC もしくは X 端末の keyboard を選択する 必要があります。私の場合には、もちろん X 端末の keyboard の 方が使いやすいのですが、Windows で keyboard を自由に設定でき るだけの能力が無いので(だれか教えて!) 、やむなく PC の jp106 keyboard を用いて Unix 上で設定をすることにしました。
loadkeys は便利ですが、これはコンソールにしか使えません。 X 端末上での key の設定は、xmodmap commando でしかうまく行か ないようです。そこで、xev と loadkeys で使われる keymap を見比べて いかのような file をつくりました。これを
% xmodmap -pk で現在の keycord と scan code を表示します。
% xmodmap xmodmap.jp106
のようにして load すれば ok です。.xsession に書き込めば key の変更を意識せずに行えます。
以下の仕様にしています。
; ; from Prof. Kuwada for asking vt100 key ; (defvar pc98-arrow-keymap (make-keymap)) (fset 'pc98-arrow-prefix pc98-arrow-keymap) ;;; ;;; Key bindings for PC98 Keyboard ;;; C-q のあとに function key を押してどういう割り当てになっているか ;;; 調べると自由な設定ができる. (define-key global-map "\e[" 'pc98-arrow-prefix) (define-key pc98-arrow-keymap "A" 'previous-line) (define-key pc98-arrow-keymap "B" 'next-line) (define-key pc98-arrow-keymap "C" 'forward-char) (define-key pc98-arrow-keymap "D" 'backward-char) ;; f.5 - f.9 atok7 と 同じ構造に変換する.(for mLh) ;; f.5 (変換) f.6 (ひらがな) f.7 (カタカナ) f.8(半角) f.9 (全角) ;; f.4 (ひらがな-> 漢字) (define-key pc98-arrow-keymap "227z" "h/ ") (define-key pc98-arrow-keymap "228z" "/ ") (define-key pc98-arrow-keymap "229z" "f/ ") (define-key pc98-arrow-keymap "230z" "k/ ") (define-key pc98-arrow-keymap "231z" "q/ ") (define-key pc98-arrow-keymap "232z" "z/ ")
問題点: NCD keyboard の setup key に相当する キーをアサ インできませんでした。
! this file sets jp106 ! ! Swap Caps_Lock and Control_L ! !remove Lock = Caps_Lock !remove Control = Control_L !keysym Control_L = Caps_Lock !keysym Caps_Lock = Control_L keycode 20 = Control_L keycode 17 = Caps_Lock add Lock = Caps_Lock add Control = Control_L keycode 14 = Escape ! ! 1 retume ! keycode 49 = n keycode 30 = 2 quotedbl keycode 54 = 6 ampersand keycode 61 = 7 apostrophe keycode 62 = 8 parenleft keycode 70 = 9 parenright keycode 69 = 0 asciitilde keycode 78 = minus equal keycode 85 = asciicircum underscore keycode 93 = backslash bar ! ! 2 retume ! keycode 84 = at grave keycode 91 = bracketleft braceleft ! ! 3 retume ! keycode 76 = semicolon plus keycode 82 = colon asterisk keycode 83 = bracketright braceright ! ! 4 retume ! keycode 65 = comma less keycode 73 = period greater keycode 74 = slash question keycode 81 = backslash underscore ! ! 5 retume (普通の人は設定不要) ! keycode 133 = F6 keycode 134 = F5 keycode 135 = F7