7

Happy Hacking Keyboard レイアウトを模倣するために、キーボードの最後の行を再マップしようとしています。.Xmodmapキーコードの変更に従ってファイルを作成しました。以下は、 を使用して生成された Xmodmap ファイルで手動で変更された行のみを示していますxmodmap -pke > ~/.Xmodmap

keycode 37 = Super_L NoSymbol Super_L
keycode 64 = Control_L NoSymbol Control_L
keycode 105 = Super_R NoSymbol Super_R
keycode 108 = Control_R NoSymbol Control_R
keycode 133 = Alt_L Meta_L Alt_L Meta_L
keycode 134 = Alt_R Meta_R Alt_R Meta_R

上記の変更は、

xmodmap ~/.Xmodmap

xev変更は、つまりAltkey: CtrlSuperkey: Alt、およびCtrlkey:を実行して検証されましたSuper

ただし、emacs を実行すると、まだAltkey: AltSuperkey: Super& Ctrlkey:Ctrlです。また、ターミナルは、 + + の代わりに + +をAlt押すだけで起動できます。これらのアプリケーションは、私のファイルの新しい構成に従っているのではなく、デフォルトのキーボード レイアウトを反映しています。CtrltAltSupert$HOME/.Xmodmap

xmodmap ~/.Xmodmap変更がアプリケーション間で永続化されるように、$HOME/.xinitrcファイルに を追加しました。これはうまくいきませんでした。

また、 に次のコードを追加しました/etc/X11/xinit/xinitrc。しかし、これもうまくいきませんでした。

if [ -f $HOME/.Xmodmap ]; then
    /usr/bin/xmodmap $HOME/.Xmodmap
fi

ご提案をお寄せください。

お時間をいただきありがとうございます。

-ギリッシュ

少し背景:

最近、WindowsからUbuntuに切り替えました。私はコードを書くために Emacs を使用していますが、HHK のようにキーをマッピングすることが効果的であることがわかりました。手首の小指とRSIを傷つけるのを防ぎます.

4

6 に答える 6

8

最後に、キーボードが HHK レイアウトを模倣するようになりました (キーボードの最後の行用)。

新しいキーマップの変更を行う前に、修飾キーをクリアするコマンドを追加する必要がありました。次に、修飾キーを有効にしました。

clear control
clear mod1
clear mod4

keycode 37 = Super_L NoSymbol Super_L
keycode 64 = Control_L NoSymbol Control_L
keycode 105 = Super_R NoSymbol Super_R
keycode 108 = Control_R NoSymbol Control_R
keycode 133 = Alt_L Meta_L Alt_L Meta_L
keycode 134 = Alt_R Meta_R Alt_R Meta_R

add control = Control_L Control_R
add mod1 = Alt_L Alt_R
add mod4 = Super_L Super_R

@d4gg4d さん、Xmodmap ファイルを共有していただきありがとうございます。そうでなければ、私はそれを理解していなかっただろう.

于 2014-02-24T13:50:02.617 に答える
2
  1. 構成 /usr/share/X11/ xkb /symbols/pc を開きます
  2. Super_L および Control_L で行を変更します (LWIN を LCTL および RWIN と交換し、RCTL と交換します)。
key <LWIN> {    [ Super_L       ]   };
key <LCTL> {    [ Control_L     ]   };
key <RWIN> {    [ Super_R       ]   };
key <RCTL> {    [ Control_R     ]   };

3. キャッシュを削除します rm -rf /var/lib/xkb/* 4. X を再起動します

于 2015-05-07T07:01:56.813 に答える
2

次のxmodmapを使用して、ubuntuシステム全体で右手を交換することに成功しましたctrlalt

https://github.com/d4gg4d/my-emacs/blob/master/.Xmodmap

しかし、13.10 の ubuntu は、キーの再マッピングでひどい頭痛に悩まされています。したがって、あなたの問題はこの問題にも関連していると思います:

https://askubuntu.com/questions/363075/xmodmap-doesnt-work-for-two-layouts/405553#405553

これが次のubuntuリリースで修正されるまで、ログイン中にxmodmapを自動的に開始することは機能しないと思われます。

于 2014-02-18T12:06:16.290 に答える
1

Alt を Ctrl として (つまり、ctrl を alt にマップする)、Super を Alt として、Ctrl を Super として、左右両方の手でそれが必要な場合、私の ubuntu 16.10 では、次のいずれかを実行できます。

  1. hwjpの回答のように、Gnome のツールを使用して altwin:ctrl_alt_win オプションを選択し、
  2. KDE では、altwin:ctrl_alt_win オプションの System Settings/Input Devices/Keyboard/Advanced を同様に調べます。
  3. 端末で書き込みsetxkbmap -option altwin:ctrl_alt_winます。これは によって元に戻されることに注意してくださいsetxkbmap -option

これにより、xmodmap の使用が回避され、KDE/Gnome 設定は永続的になります。

ちなみに、私も同じことをしたはずですが、私のAsusラップトップには正しいwinキーがありません. したがって、左側で同じことを行い、右側のコントロールで alt のみを交換するために、/usr/share/X11/xkb/symbols/ に xkb オプションを追加して、再度オン/オフできるようにしましたのようなものsetxkbmap -option tp500:emacs_b_row。方法を知りたい場合は、askubuntu でこの回答に従うことができます。この最後のリンクでは、彼のステップ 4 は必要なく、sudo 権限が必要になる場合があることに注意してください。この方法は、user259819 による xkbソリューションよりも適切で無害です。

この回答をコメントとして追加したかもしれませんが、私の評判は低いです!

于 2016-11-22T15:55:35.320 に答える
1

はい、Ubuntu は設定をいじることで有名です。私の理解が正しければxmodmap、起動時に実行する必要があります。

現在私にとってうまくいっているのは、スタートアップアプリケーションを介して実行することです(ダッシュから入力するだけです)。[追加] を押して、次のコマンドを入力します。

xmodmap .Xmodmap
于 2014-02-18T08:46:20.637 に答える