|
|
NUMLOCKすると矢印キーが無効になってしまう
[OS]UNIX(SUN)
[リリース]
[キーワード]XRESOURCE TENKEY NUMLOCK
[質問]
テンキーで数値を入力できますが、NUMLOCKすると矢印キーが無効になってしまいます。
[回答]
- SASの中で、テンキーを数値入力に使用するためには、SASのXリソースファイルのSAS.KeyboardTranslations部分を修正します。
ただし、NUMLOCKの状態ではCURSOR CONTROL KEYSが正常に働かなくなりますので、Xサーバーレベルのキー定義をXMODMAPコマンドで変更する必要があります。
以下の手順で変更してください。
xmodmap -e 'keycode 31=F30' <-- Left キー
xmodmap -e 'keycode 35=F32' <-- Right キー
xmodmap -e 'keycode 27=F28' <-- Up キー
xmodmap -e 'keycode 73=F19' <-- DEL キー
xmodmap -e 'keycode 120=2' <--キーパッドの2 キー
xmodmap -e 'keycode 98=4' <--キーパッドの4 キー
xmodmap -e 'keycode 100=6' <--キーパッドの6 キー
xmodmap -e 'keycode 76=8' <--キーパッドの8 キー
注意:
- KEYCODEは(34,31,..) "xmodmap -pk"コマンドで調べてください。
- 環境により異なることがあります。
- KEYSYM NAME(F34,F30 ..)も環境により異なる場合があります。
- 上記の設定は一つの例として参考にしてください。
- 詳細は、xmodmapのマニュアル及び、実行結果を参考にしてください。
- 起動するSASが参照するリソース(/usr/openwin/lib/app-defaults/SAS 等)の SAS.KeyboardTranslations 部分を以下のように修正してください。
SAS.keyboardTranslations: #override \
Ctrl<Key>space: sas-begin-conversion()\n\
Ctrl<Key>Henkan_Mode: sas-begin-conversion()\n\
<Key>F34: sas-cursor-down()\n\
<Key>F30: sas-cursor-left()\n\
<Key>F32: sas-cursor-right()\n\
<Key>F28: sas-cursor-up()\n\
<Key>F19: sas-delete-char()\n
以上により、NUM Lock 時にも矢印キーが使用できるようになります。
注意:
- xmodmap の変更は他のアプリケーションにも影響しますので、SAS使用時だけ変更するようなスクリプトを作成してください。
- F19 はFIND キーに割り当てられておりますが、それを代用しております。
都合が悪い場合には、他の未使用のFunction キーを使用してください。
|