UbuntuでCtrl + AltをAlt grのように動作させるにはどうすればよいですか?


11

私は最近ラップトップでUbuntuに切り替えましたが、Windowsに切り替えようとするほとんどの理由の1つは、Ctrl+ AltをAlt grのように動作させることができないという事実です。

私は数年でプログラムを作成してきました。たとえば、ctrl+ alt+を押して記号「$」を作るのに慣れてい4ます。ここUbuntuでは、「Alt gr + 4」の魔女を使用する必要があります。

これに対する修正はありますか?


1
コンポーズキーのマッピングで遊んでみましたか? help.ubuntu.com/community/ComposeKey
Tim Kennedy

xmodmapコマンドを使用してこれを行うことができます。このaskubuntu.com/questions/5095/typing-using-key-combinationsを
Bichoy 2013

ubuntuのx11-xserver-utilsパッケージに含まれているxmodmapを試してください。これにより、任意のキーの組み合わせを再マッピングできます。
ウォーレン

@elitasson自分の質問に対する答えを見つけた場合は、別の答えにしてください。
Bernhard、

@Bernhardいいえ、xmodmapではこれを行うことはできません。Ctrl + Altの組み合わせを個別の修飾子にすることはできません。しかし、私はあなたがxkbでできる思います。
Gilles「SO-邪悪なことをやめなさい」2016

回答:


3

特別な文字を書くためにグローバルなショートカットを追加することができます。私はこれをUbuntuのドイツ語キーボードレイアウトに頻繁に使用します(Windowsではこの設定はそのまま使用できます)。

次のショートカットを追加しました:

Shift+ Enter+ 7手紙を書く{

Shift+ Enter+ 0手紙を書く}

Shift+ Enter+ 8手紙を書く[

Shift+ Enter+ 9手紙を書く]

これらのショートカットを追加するには、必要になりますxbindkeysxvkbd

sudo apt-get install xbindkeys xvkbd

次に、構成ファイルを編集します。

vim ~/.xbindkeysrc

次の行を追加します(必要に応じて編集します)。

"xvkbd -xsendevent -text '{'"
    m:0xc + c:16
    Control+Alt + 7

"xvkbd -xsendevent -text '['"
    m:0xc + c:17
    Control+Alt + 8

"xvkbd -xsendevent -text ']'"
    m:0xc + c:18
    Control+Alt + 9

"xvkbd -xsendevent -text '}'"
    m:0xc + c:19
    Control+Alt + 0

"xvkbd -xsendevent -text '\[backslash]'"
    m:0xc + c:20
    Control+Alt + ssharp

"xvkbd -xsendevent -text '\[asciitilde]'"
    m:0xc + c:35
    Control+Alt + plus

次に、xbindkeysをリロードします。

xbindkeys -f ~/.xbindkeysrc

これを共有してくれたwhizに感謝します(http://forum.ubuntuusers.de/topic/strg-%2B-alt-alt-gr-wie-in-windows/)。


1
m:0xc + c:XXという行が何をするか説明していただけますか?
elitasson 2015年

1
私はこれが古い質問と回答であることを知っていますが、|のような文字を追加したい人のためだけです。または@または€:で使用されてc:XXいるキーコードは、私の知る限り、普遍的なものではないため、それをググるのに苦労することはありません。ただし、コマンドラインで「xev」をインストールして実行することにより、ローカルでキーコードを見つけることができます。キーボードとマウスのすべての操作が出力されるので、「自分の」文字を見つけるには少しスクロールする必要があります。
Nano Miratus

1
たとえば、xevの実行中に<(設定する|)を押すと、次のように出力されKeyRelease event, serial 40, synthetic NO, window 0x4c00001, root 0x7e, subw 0x0, time 35363548, (135,60), root:(903,472), state 0x0, keycode 94 (keysym 0x3c, less), same_screen YES, XLookupString gives 1 bytes: (3c) "<" XFilterEvent returns: Falseます。必要な番号は、常に「キーコード」の後に3行目にあります。したがって、この場合、94
ナノMiratus

2

xbindkeysとxvkbd / xteの組み合わせで動作するようにして失敗した後(おそらく、スカンジナビアのキーボードレイアウトを使用しているために、特定の文字{、[、]、}、\などが正しく動作しなかった)ようやく、シンプルで実用的なソリューションであるAutokeyを見つけました。これを機能させるための正確な手順は次のとおりです。

  1. Ubuntuソフトウェア(KDEではなくGTKバージョンを使用しました)または「sudo apt-get install autokey-gtk」を使用してAutokeyをインストールします。
  2. キーごとに1つのスクリプトを構成します(例:{このコードを使用keyboard.send_keys("<alt_gr>+7"):)にホットキーをCtrl + Alt + 7に設定します(最初にホットキーを7に設定してから、修飾子としてCtrlおよびAltを追加します)。これは、少なくとも最も重要なコード作成キーに対して機能しました:{[]}。
  3. スタートアップアプリケーションにautokeyを追加し(「start」を検索して見つけます)、コマンドとして「autokey」を含むプログラムを追加します。

このソリューションは、現在のXセッションで実行されているものであれば何でも機能します(私はそう思います)が、Ctrl + Alt +(F2-F6)を使用して新しいターミナルセッションを開始すると機能しません。


1

これはまだあなたの質問に答えませんが、これは他の答えよりも簡単な解決策であると思います。

R-ALTようAltGrに機能させるには、次の行をに追加します~/.xinitrc

setxkbmap -option lv3:ralt_switch

3番目のレベル(通常はAltGrキーを使用して達成されるレベル)に移行する他の方法を見つけることができ、新しい方法をで定義できます/usr/share/X11/xkb/symbols/level3


1

これは、L-Altキーをキーとまったく同じように動作させるために私がしたことAltgrです。私はCtrlAlt鍵で試しませんでした

それはlevel3ファイルを変更することで構成されています

ターミナルで、ディレクトリを変更します。

cd /usr/share/X11/xkb/symbols

level3ファイルのコピーを作成します。

sudo cp level3 level3.old

任意のテキストエディターでlevel3を編集します。

sudo gedit level3 

次のようなブロックが見つかるはずです。

  key <RALT> {
    type[Group1]="ONE_LEVEL",
    symbols[Group1] = [ ISO_Level3_Shift ]
    };
  modifier_map Mod5   { ISO_Level3_Shift };

RALT(altgr)の代わりにLALT(左alt)を使用してブロックのコピーを追加します。

  key <LALT> {
    type[Group1]="ONE_LEVEL",
    symbols[Group1] = [ ISO_Level3_Shift ]
    };
  modifier_map Mod5   { ISO_Level3_Shift };

今、で始まる他の3つのブロックがあるはずです key <RALT>

彼らと同じことをしてください。

保存して終了します。


0

私はコードを書くときに特別な記号を使用するだけなので、これをなんとか修正するにはSublime Textです。

環境設定->キー割り当て-ユーザー

以下を挿入します。

[
{ "keys": ["ctrl+alt+2"], "command": "insert", "args": {"characters": "@"} },
{ "keys": ["ctrl+alt+3"], "command": "insert", "args": {"characters": "£"} },
{ "keys": ["ctrl+alt+4"], "command": "insert", "args": {"characters": "$"} },
{ "keys": ["ctrl+alt+5"], "command": "insert", "args": {"characters": "€"} },
{ "keys": ["ctrl+alt+7"], "command": "insert", "args": {"characters": "{"} },
{ "keys": ["ctrl+alt+8"], "command": "insert", "args": {"characters": "["} },
{ "keys": ["ctrl+alt+9"], "command": "insert", "args": {"characters": "]"} },
{ "keys": ["ctrl+alt+0"], "command": "insert", "args": {"characters": "}"} },
{ "keys": ["ctrl+alt++"], "command": "insert", "args": {"characters": "\\"} },
{ "keys": ["ctrl+alt+<"], "command": "insert", "args": {"characters": "|"} }

]

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