twitter icon   twitter icon   rss icon

Linux.com Japan

Home Linux Jp チュートリアル Linuxデスクトップ環境でCaps Lockキーを無効にする方法

Linuxデスクトップ環境でCaps Lockキーを無効にする方法

原文へのリンクはこちらです。

caps lock key removed from a keyboard

以前は、GUI ベースでキーボードの Caps Lock キーを無効にする方法があった筈だ。Linux の初心者だったころ、最初にした変更だったと記憶している。しかし、Ubuntu 11.04 のころからだろうか (そう、Unity が出始めたころだ)、その機能は消えてしまった。今でも Ubutu ベースのマシンを使っているが、デスクトップは、より制限が少ない Xubuntu を利用している。

私はタイプが下手なため、邪魔な Caps Lock キーを取り除きたいと思っている。もし間違って Caps Lock キーを押してしまったら、気付かないうちに入力した行の半分も無駄になってしまうのだ。いずれにせよ、キーの無効化機能がいつのまにかなくなってしまったので、検索したところ、xmodmap スクリプトに追加することでできることがわかった。

私の Linux 技術力は向上したが、自分でスクリプトを書きこなせるレベルではないため、既存のスクリプトを探すことにした。最初に見つけたスクリプトは、Shiftキーの機能だけを変更するものだった。シンプルなものだ。見てみよう。

!
! Swap Caps_lock  and Shift_L
!
remove Lock =  Caps_Lock
keysym Caps_Lock  = Shift_L

これをホーム ディレクトリ下に実行可能な隠しファイルとして格納する。例えば、.capless、 .nocaps、 .freeatlas とかの、どのような名前でも良い。わかりやすい名前だ。これで、大文字を続けて入力してしまう事態からさよならできることを願って、次のコマンドをターミナルで実行して欲しい。

$ xmodmap  /home/yourname/.capless

 または、Xubutu を使用しているならば、「Application Autostart section」に登録すれば、すべてのユーザで有効になる。

これで、しばらくは問題が起こらなかった。しかし、新しくロー プロフィールのキーボードを使い始めたとき、おかしなことに気が付いた。Caps キーがロックされず、ロック キーと文字キーを押下すると、ときどき変なことがおきるのだ。

新しい機能を持ったスクリプトが必要だ。「keysym」設定が本当のところは何をしているのかを調べた。xmodmap のマニュアルを読み、次のようにしてすべての「keysym」を調べた。

$ xmodmap -pk

255 個の keycode について、16 進表示の code と設定されている 7 つの keysym が表示される。スクロールも可能だ。幸運なことに一番上に、0x000 と No symbol が出ていた。これは、Caps Lock は何もしないということだ。つまり、昔のキーボード変更の GUI が有効であるということだ。そこで、スクリプトを作ることにした。

!
! Set Caps_Lock  to no symbol
!
remove Lock =  Caps_Lock
keysym Caps_Lock  = 0x0000

このスクリプトを Setting Manager の「Application Autostart」パートに「.killer」という名前で格納した。

Lubuntu を実行している別マシンでは、自動スタートの設定は簡単ではない。スクリプトを格納したら、次に、

$  /etc/xdg/lxession/LXDE

ディレクトリをオープンして、autostart テキストを開く。一番下に「@.killer enable」を追加し、一旦ログアウトし、ログインし直すと Caps-free 環境になっているはずだ。 もう少し簡単にするならば、Run Program に以下の行を入れれば良い。

$ xmodmap  /home/emery/.killer
Linux Foundationメンバーシップ

30人のカーネル開発者

人気コンテンツ

  1. Today's Linux 2018/11/28 2018年 11月 27日
  2. Today's Linux 2018/11/29 2018年 11月 28日
  3. Today's Linux 2018/12/03 2018年 12月 02日
  4. Today's Linux 2018/12/04 2018年 12月 03日
  5. Today's Linux 2018/12/06 2018年 12月 05日

Linux Foundationについて

Linux Foundation はLinux の普及,保護,標準化を進めるためにオープンソース コミュニティに資源とサービスを提供しています

 

The Linux Foundation Japan

サイトマップ

問い合わせ先

サイトに関するお問い合わせはこちらまで

Linux Foundation Japan

Linux Foundation

Linux Training

提案、要望

Linux.com JAPANでは広く皆様の提案、要望、投稿を受け付ける予定です。

乞うご期待!