文字をalt + [some key]にバインド/マップしますか?


4

OS:Ubuntu

プログラミングやさまざまな端末プログラム(Screen、Vim)では、[、]、{、}が頻繁に使用されます。ノルウェー語のキーボードを使用しているので、快適にするには指を少し長く伸ばす必要があります。簡単にするために、alt + [some key]をこれらの文字の1つにしようとしています。alt +æ(ノルウェー文字)を「{」システム全体にバインドする方法はありますか?

ところで、そのようなものはバインディング、マッピング、または他の何かと呼ばれていますか?私は用語に少し混乱しています... :)


:これは、あなたがそれを行う助けることができるものになる可能性が(私は、Linuxのほとんど知らないし、これは暗闇の中で刺しているので、コメントなど)xmacro.sourceforge.net(私はLinux用のAutoHotkeyをのequivilentを探していました)
Dmatig

キーの「バインド」と「マッピング」は非常によく似た操作です。違いは、キーを押したときに接続するものにあると思います:関数を接続する場合(このキーが押されたときにこのマクロを実行する)、それは「バインディング」です。シンボルを接続している場合(このキーが押されたときにこのシンボルを入力します)、それ「マッピング」です。
いんちきのキホーテ

回答:


1

残念ながら、Alt +キーを使用してそれを行うことはできません。コマンドウィンドウでAlt + keyを入力するのは、Escapeキーを押してからキーを押すのとまったく同じです。

しかし、私はあなたのために一種の解決策を持っていますが、それは少し脚の作業を必要とし、あなたがXを実行していることを前提としています。端末エミュレータの画面/ vimはまだこれで動作します。

私が使用してスペイン語キーボード[]{}記号は、右手で私の小指の右側にあるキーにしているが、押す必要がAltGrのキーを過ぎます。それは私の右手を少し押しつぶしすぎることを意味します。xmodmapを使用してこれを変更しました

あなたにの.Xmodmapという名前のファイルを追加する場合は、ホームディレクトリそれはまたあなたが使用して任意の時点でそれを実行することができますが、Xにログインするたびに供給されますxmmodmap ~/.Xmodmap

これを設定する方法の例を次に示します。右中括弧記号}çキーボード上のキーにありますが、右中括弧を取得するにはキーと一緒にAltGrを押す必要があります。これにマッピングされているキーコードを確認するには、次を使用しますxmodmap -pk

$ xmodmap -pk | grep brace
51 0x00e7 (ccedilla) 0x00c7 (Ccedilla) 0x00e7 (ccedilla) \
   0x00c7 (Ccedilla) 0x007d (braceright) 0xfe55 (dead_breve)
# split to prevent scroll, this is all on one line

これは、キーコード51がさまざまな修飾子を使用してこれらのキーにマップされることを意味します。ここman xmodmapに言わなければならないことがあります:

keycode NUMBER = KEYSYMNAME ...
 The list of keysyms is assigned to the indicated keycode (which may be
 specified in decimal, hex or octal and can be determined by running the xev
 program). Up to eight keysyms may be attached to a key, however the last
 four are not used in any major X server implementation. The first keysym is
 used when no modifier key is pressed in conjunction with this key, the
 second with Shift, the third when the Mode_switch key is used with this
 key and the fourth when both the Mode_switch and Shift keys are used.

だからここにあります:

  • 修飾子なし= ccedillaç
  • シフト= CcedillaÇ
  • Mode_switch = ccedilla
  • Mode_switchおよびshift = Ccedilla
  • AltGr = braceright}

実験では、5番目のエントリは実際にはAltGrとキーが押されたときのようです。ドキュメンテーションのために、そうですか?Mode_switchキーが何であるかわかりませんが、Alt、Shift、またはCtrlではありません。

}デフォルトでは、この最も役に立たないキーを変更したかったのです。.Xmodmapのエントリは次のとおりです。

keycode 51 = braceright Ccedilla ccedilla Ccedilla braceright dead_breve

私はccedillasを書くことはありません(この投稿を除き、ここguwではVimで小文字を使用するためにtypingを入力して書いています!)。その上にあるキーなど、他のキー]はより複雑でした。このキーには*+]書かれています。プラス記号を別のキーに移動し(重複した感嘆符を削除します¡)、デフォルト*でShift キーを押しながら吐き出しました。AltGrの動作はそのままにしました。

他のコーダーのキーに対応する他のキーコードの同様のエントリがあります。ハッキングのためだけに、米国または英国のレイアウトを再学習すべきだと思うこともあります。しかし、私は電子メールの派手なキーを見逃します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.