web-dev-qa-db-ja.com

Caps LockをvimのようにAltGrおよび矢印として設定します

1.グローバルにマッピングする方法 Caps Lock に AltGr

CapsLockは必要ありませんが、AltGrキーに簡単にアクセスしたいです。

2.すべての移動キーをvimのような位置にマッピングしたい

  • AltGr+F = Backspace
  • AltGr+H = LeftArr
  • AltGr+J = DownArr
  • AltGr+L = RightArr
  • AltGr+K = UpArr
  • AltGr+U = PgUp
  • AltGr+D = PgDown
  • AltGr+S = Enter
  • AltGr+3 = Pos1
  • AltGr+$ = End
  • AltGr+X = Del

そのため、10-Finger-Position(vimエディターのように)から手を離さずにコードを簡単に確認できます。

私はこの答えを見つけました: キャップ​​スロックキーをバックスペースキーに再マップするにはどうすればよいですか?
を使用して提案

xmodmap -e "keycode [code] = [new key]"

参照: http://wiki.linuxquestions.org/wiki/List_of_Keysyms_Recognised_by_Xmodmap

しかし、たとえばAltGr + Jの組み合わせにこれを追加する方法はわかりません

別の開始は、unity-control-center-> Keyboard-> Shortcuts-> Typing as Caps Lockで「代替文字キー」を設定することです。

更新:いくつかの解決策を見つけました(下記を参照)が、すべてがすべてのアプリケーションで動作しない、「XFree」と呼ばれるグローバル設定だと思います一部のアプリで使用される4 "。

XFree 4のキー割り当ても設定するにはどうすればよいですか?

8
rubo77

/usr/share/X11/xkb/symbols/de/deはあなたの言語)を編集し、あなたの言語で使用する最初のブロックにこのセクションを追加する必要があります:

            # replace Caps with AltGr
            key <CAPS> { [ ISO_Level3_Shift            ] };
            # Add vim cursor keys to be accessed with AltGr
            key <AB02> { [ x, X, Delete, Delete        ] };
            key <AC02> { [ s, S, KP_Enter, KP_Enter    ] };
            key <AC03> { [ d, D, Next, Next            ] };
            key <AC04> { [ f, F, BackSpace, BackSpace  ] };
            key <AC06> { [ h, H , Left, Left           ] };
            key <AC07> { [ j, J, Down, Down            ] };
            key <AC08> { [ k, K, Up, Up                ] };
            key <AC09> { [ l, L, Right, Right          ] };
            key <AD07> { [ u, U, Prior, Prior          ] };
            key <AE03> { [ 3, section, Home, Home      ] };
            key <AE04> { [ 4, dollar, End, End         ] };

ログアウトして再度ログインすると、これが利用可能になります。一部のアプリケーションのみが設定を受け入れません。たとえば、yakuakeguakeに置き換えられ、sublimeatomに置き換えられます。

編集:yakuakeでキーバインディングが「XFree 4」に設定されていることがわかりました。これをLinuxまたはSolarisに設定すると、XKB設定もそこで機能します。

3
rubo77

CapsLockをAltGrに再マップするには

xmodmap -e "keycode 66 = ISO_Level3_Shift"

(ソース: https://superuser.com/a/138757/16042

矢印キーをAltGr + h、j、kおよびlにマップするには、xmodmap -pkeを使用して適切な設定を見つけます。

xmodmap -pke|egrep "f F|j J|k K|h H|l L|o O|u U|d D|dollar|BackSpace"

fifth値を新しいキーに変更し、これをすべてbashスクリプトに追加します。

# xrandr needs the desktop to be fully loaded. add a delay, to be able to add it to Startup Applications:
sleep 15
# change BackSpace into AltGr
xmodmap -e "keycode 66 = ISO_Level3_Shift"
# set BackSpace on AltGr + F
xmodmap -e "keycode 41 = f F f F BackSpace BackSpace dstroke ordfeminine f F dstroke ordfeminine"
# create arrow keys at h,j,k,l
xmodmap -e "keycode  43 = h H h H Left Left"
xmodmap -e "keycode  44 = j J j J Down Down"
xmodmap -e "keycode  45 = k K k K Up Up"
xmodmap -e "keycode  46 = l L l L Right Right"
xmodmap -e "keycode  30 = u U u U Prior Prior"
xmodmap -e "keycode  40 = d D d D Next Next"
xmodmap -e "keycode  12 = 3 section 3 numbersign Home Home"
xmodmap -e "keycode  13 = 4 dollar 4 dollar End End"
xmodmap -e "keycode  53 = x X x X Delete Delete"

(ソース: https://askubuntu.com/a/466315/34298

そのbashスクリプトを スタートアップアプリケーション に配置します(ダッシュを選択>スタートアップアプリケーション>追加を選択し、コマンドを追加します)。

注:奇妙なことにgnome-terminalではこれはうまく機能しますが、yakuakeではAltGr + FのBackSpaceで機能しますが、AltGr + h、j、kおよびlをDに設定します。 「(デフォルト)XFree 4」ではなく「Linux」にキーバインディングを設定し、sublime-textでまったく機能しない場合を除き、B、A、およびC

0
rubo77

得るために AltGr+h、 jkl または Autokey のようなアプリケーションのない他のキー  / usr/share/X11/xkb/symbols /にあるキーボードレイアウトをカスタマイズできます。現時点では、ドイツ語のレイアウト「de」を使用しています。だからまず第一に:

1-標準レイアウトをコピーします

cp /usr/share/X11/xkb/symbols/de /usr/share/X11/xkb/symbols/de.bak

2-テキストエディターを使用してレイアウトを開きます(ここで:gedit)

Sudo gedit /usr/share/X11/xkb/symbols/de 

そこには次のようなものが表示されます:

key <AD03>  { [         e,          E,     EuroSign,     EuroSign ] };
key <AD06>  { [         z,          Z,    leftarrow,          yen ] };
key <AD11>  { [udiaeresis, Udiaeresis, dead_diaeresis, dead_abovering ] };
....
....
key <AD12>  { [      plus,   asterisk,   dead_tilde,  macron ]  };
key <AC02>  { [               s,               S,          ssharp,          U017F ] }; 
key <AC06>  { [               h,               H,            Left,             Left ]   }; 
key <AC07>  { [               j,               J,            Down,             Down ]   }; 
key <AC08>  { [               k,               K,              Up,               Up ]   }; 
key <AC09>  { [               l,               L,           Right,            Right ]   }; 
....
....
key <AB10>  { [     minus, underscore,               endash,     emdash ] };
key <LSGT>  { [     less,     greater,                  bar,     NoSymbol   ] };

ご覧のとおり、AB、AC、AD、AEは行を表し、数字はキーボード上のその位置を表します(他のキーに再マッピングできる、より少ない/大きいキーなどの特別なキーがいくつかあります。

そこには、すべてのキーボードがありますが、キーボードが基づいているレイアウトとは異なるキーボードだけがあります。ドイツ語は「latin(type4)」に基づいており、ファイルの始まりを見るとわかります。

include "latin(type4)"

その後、必要に応じて変更するだけです。次のように動作します:

キー{[ key、 key+shift、 key+AltGr、 key+Shift+AltGr ]};

(5レベルの修飾子を追加することも可能です)

再起動せずに変更を確認する場合。 (レイアウトの「de」を変更します...ここは 可能なレイアウトのリスト です)

 setxkbmap -layout de

矢印には、「左、右、下、上」のようにラベルが付いています。 こちらが適切なリストです 可能な値。

here は、カスタムレイアウトの例です。 (ただし、現時点では使用されていません)

次に、CapslockとAltGrを再マップする必要がありますか、または投稿した質問に従ってすでに機能しましたか?

「通常の」ドイツ語のレイアウトも維持したい場合は、通常使用しない別のレイアウトに変更を加えることができます(または、同じ「de」ファイルでさらに下にある「german no dead key」を変更できます)。 ..)

出典: link xbkとカスタムレイアウトの非常に包括的な説明。
リンク 適切な回答のある同様の質問へ。

0
Marcelo Avila