HOME / コンピュータTips / Solaris / キーカスタマイズ

Date: 2009/01/06 |  このエントリーをはてなブックマークに追加  |  Tags: Solaris, Key Customize, OpenSolaris, キーカスタマイズ, キーリマップ

CAPSを潰す方法

/etc/X11/xorg.conf を利用した方法。

InputDeviceが2種類ほどあるが、その中でKeyboardをしてする方を見つけ出し、XkbOptionsの行を入れる。

Section "InputDevice"

    Option "XkbOptions" "ctrl:nocaps"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "keyboard"
EndSection

OpenSolarisの場合

OpenSolarisの場合、xorg.confが存在しない。

そのため、テキストモードでOpenSolarisを起動し、下記の手順でxorg.confを作成すると良い。

その1. シングルユーザに落ちる。

pfexec init S

その2. grubメニューからテキストモードで起動する。

もし途中、ctrl^Dが要求されたら、ctrl^Dし、ユーザでログインするとテキストログインになる。

コマンドラインに落ちたことを確認し、

/usr/X/bin/Xorg -configure

これで、/rootあたりにxorg.conf.newが作成されているので、/etc/X11/にコピーする。あとは、上記の設定を入れておけばよい。

loadkeysを利用した方法(うまくいかず)

参考資料

  • http://blogs.sun.com/thaniwa/entry/ja_solaris_express_keyboard_layout

上記をみると、loadkeys、dumpkeysという処理があるらしい。manを探すキーワードとして、

  • loadkeys
  • keytables
  • kb (7)

keytablesをみてみると、2つあるので悩む。

# ls -l /usr/share/lib/keytables
合計 8
drwxr-xr-x   2 root     bin         1536  8月  7日  10:49 type_101
drwxr-xr-x   2 root     bin         2048  8月  7日  10:49 type_6

man loadkeysすると、こんなことが書いてある。

    /usr/share/lib/keytables/type_tt/layout_dd,  where tt is the
    value returned by the KIOCTYPE ioctl, and dd  is  the  value
    returned  by  the  KIOCLAYOUT  ioctl  (see  kb(7M)).   These

わからんので、こんな風にしてみる・・・

# dumpkeys | grep -i lock
key 57   all shiftkeys+capslock

key 57を別にアサインすればよさそう

左コントロールは・・・?

# dumpkeys | grep -i leftctrl
key 224  all shiftkeys+leftctrl up shiftkeys+leftctrl

そこで、57を224と同じにしてしまいたいということになる。

cd /usr/share/lib/keytables
grep 57 */* | less

このようにやると、key 57がshift+capslockに設定されている環境は、type_101にはなく、type_6にしかない。

そんなわけで、type_6から重点的に探す。

関係なさそうなものばかりだがusが一番怪しい(やまかん)

cd type_6
cp us us.org

57に224の設定を上書きしたがうまくいかず・・・

INSキーとアプリケーションキーを入れ替える

いったい何のために・・・と思うかも知れないが、まず、ASCII配列のキーボードの中で、機種依存ではなくかつ無くてもかまわないキーがInsertだと考えてほしい。

次に、WindowsをVirtualBoxで動かしている前提で、この中のWindowsのATOKでIMEのON/OFFに設定できる設定キーはいくつかある。が、ASCII配列で設定できる範囲で一番どうでも良いキーが実はInsertなのである。

そこで、

  • VirtualBoxではIMEの設定でInsertを日本語のON/OFFにマッピング
  • gnomeではシステム-設定-入力方式トリガキーで、Insertをマッピング

これで、良い感じでどちらでも日本語のON/OFFができるのだ。

さて、Insertは遠い所にあるので、右下あたりにあるキーを押すだけでON/OFFをしたい。そこでInsertとApplicationキーを切り替えるという考えにいたるわけだ。

じゃあ、最初からAppキーをトリガーキーに指定すれば・・・という話があるが、実は、EmacsでAppキーを押すとUNICODEの入力モードになるのだ。面白いことに、システム-設定-入力方式トリガキーで、Appキーを日本語のON/OFFとして潰しても、Emacsと一部のアプリに限っては、unicodeのON/OFFに中途半端に取られてしまう。

そこで、

  • VirtualBoxのATOKで設定でき
  • gnomeで設定でき
  • Emacsでどうでも良いキーとして認識されている

キーはなにか?というとInsertキーなのである(笑

InsertキーとAppキーのキーコードを知る

xevを実行(無い場合は pkg search -r xevで検索)

目的のキーを押すと、キーコードがわかる。

KeyPress event, serial 245, synthetic NO, window 0x5800001,
   root 0x13a, subw 0x0, time 89893018, (262,-220), root:(1710,619),
   state 0x0, keycode 106 (keysym 0xff63, Insert), same_screen YES,
   XLookupString gives 0 bytes: 
   XmbLookupString gives 0 bytes: 
   XFilterEvent returns: False

このプログラムは、タイトルバーのXをマウスでクリックして閉じる。

ここのkeycode 106が目的のキー。

最後に、.xmodmaprcに次のように設定した。

keycode  117 = Insert
keycode  106 = Multi_key

意味は

  • キーコード117(アプリケーションキー)を押下でInsertのキーコードを発生。
  • キーコード106(Insertキー)を押下で、アプリケーションキーに元々アサインされていたMulti_keyのキーコードを発生。

あとは、

xmodmap ~/.xmodmaprc

を実行すれば読み込む。

マップ表は

xmodmap -pke

で出力可能。


コンピュータTips/Solaris

Recent Updates

ディスクの不良を確認する(iostat -EnのError等)

ディスク関係のスタックをざっくり書くと次の様になっています 例、SAS Expanderを使う場合、 例、AHCIなどを使う場合、 これらのエラーは、次の様なコマンドで知ることができます。 出力結果例 このなかで、 たとえば、SATAディスクを利用している際に負荷が上がってしまい、ディスクの応答が間に合わないシチュエーションでは、Transport Errorが一気に …
»続きを読む

2017年、新年明けまして、おめでとうございます。

日記/2017年、新年明けまして、おめでとうございます。

新年明けまして、おめでとうございます。今年もよろしくお願いします。 昨年中は、皆様にお世話になりました。 昨年は、コツコツと3年程前から行ってきた改革がある程度完成された年で、この先5年、10年を見据えて、次のフェーズへと進む為の土台が完成した年でもありました。 それにキャッチアップする形で、個々の従業員一同が、役割を自覚し、明確に動けた年であったかと考えています。 …
»続きを読む

RSA鍵認証のみにし、Password認証を無効化する

意外に覚えきれなくて、いつも忘れるので、メモついでに残しておきます。 古いOpenSSHや、SunSSHの場合は、これも無効にします。 ユーザ目線でのザックリとした説明を。OpenSSHではなく別のSSH実装も含めて考えているので、OpenSSHのソースをじっくり読んだわけではないため、間違ってたらすみません。 まず、Password認証を無効にする場合、 PasswordAut …
»続きを読む

Nexus7 2013をMarshmallow(Android 6.0)化

OTAでない方法で。 だいたい ここに書いてある方法 なんだけど、adbなどが一式使えている状態で。 まずは自分の機種のものをダウンロードする。僕のは、 Android 6.0 Marshmallow for Nexus 7 2013 Wi-Fi 。tgzを展開し、zipも解いておく。 まずはboot loaderへ。 bootloader自体のアップデート。一式、updat …
»続きを読む

OS X 10.11 El Capitanで、phpのモジュールインストール

Yosemiteからのアップデートは割と簡単です。なぜならYosemite時に、すでにapache 2.4になり、php 5.5になっているから(笑 アップデート前に、まずはphp.iniとhttpd.confをバックアップしておきましょう きになるなら、hostsとかapache以下全てをバックアップしておいてもいいかも。 後はEl Capitanにアップデートする。 アッ …
»続きを読む

EasyAcc Powerbank PB4000CB

スマフォTips/モバイルバッテリー/モバイルバッテリー製品レビュー/EasyAcc Powerbank PB4000CB

薄型のモバイルバッテリーEasyAcc Powerbank PB4000CBです。 今や、モバイルバッテリーは大型のものが好まれるのか、隙間無く商品があります。20,000mAh越えで、「でけえ!」とか言ってますけど、大きいのを探せば、100Wh(27,000mAh)、200Wh当たり前、探せば500Wh(135,000mAh)とか、もっともっとあるのです。用途がどんどん異なっていくので …
»続きを読む

EC Technology Sports Headsets S10-JWH07B

デバイスTips/Bluetooth/EC Technology Sports Headsets S10-JWH07B

Bluetoothのスポーツヘッドセット、 S10-JWH07B について。 今までブログに記載することはなかったのですが、実は割とBluetoothと言うか無線型のヘッドフォンを沢山持っています。赤外線や独自物、Bluetoothなどいくつもストックを持っていたりします。普通の人からするとマニアです。でも、マニアからみるとそうでもないレベルです。 ただ「ヘッドフォンの音質」というの …
»続きを読む

静岡県内をVPNでつなぐ(割と特殊な例)

静岡というのはある意味特殊な土地で、ほとんどのインターネットプロバイダのPOIは静岡でつながれておらず、NTT西圏内のどこかで繋がっているので、大抵大阪折り返しになる。仮に静岡県内にPOIがあっても、だいたい静岡でルーティングしてないので、やっぱり東京折り返しになってたりする。例え 同じプロバイダを使っていたとしても 。 だから静岡←→静岡のVPNは、静岡←→東京や、静岡←→大阪よりも遅 …
»続きを読む

最新  |  << 前ページ  |  次ページ >>  |  最初