GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu 16.04のDvorakでドットを使用する方法は?

ドットでAを入力したい(Ä /ä )Macbook Air2013のUbuntu16.04のキーボードの1レベルのキーバインディングとして-mid、setxkbmap -queryの出力

rules:      evdev
model:      pc105
layout:     us,us
variant:    dvorak,
options:    ctrl:nocaps

デフォルトでは、 AltGrはありません。 キーボードでは、2つのAltだけです。このコマンドは、右のオルタネートをコンポーズキー( AltGr )にします。 )ただし、caps:ctrl_modifierによってCtrlとしてCapslockを使用する独自のカスタムキーボード構成などを維持します。 、こちらをご覧ください

gsettings set org.gnome.desktop.input-sources xkb-options 
    "$(gsettings get org.gnome.desktop.input-sources xkb-options  
    | sed "s/]/, 'compose:ralt']/")"

xmodmapがあれば本当に素晴らしいです 減価償却されるため、これが変更される場合は、独立したソリューション。

2レベルのキーバインディングアプローチ

デッドキーを使用したDvorakInternationalでは、2レベルのキーバインディングアプローチしか実行できません。

  • SeverusTuxの答えは、 AltGrのような2レベルのコマンドです。 –シフト Q + A us-drovak, international with deadkeys
  • SeverusTux。 Ctrl +シフト + u + e4 +入力 動作し、äを提供します 。これを1レベルのキーバインディングAltにどのようにマッピングできますか – a

GUIが他の場所で変更を加えていることがわかる場所で行います。本当にどこにいるのか知りたい

[email protected]:~$ cat /usr/share/X11/locale/en_US.UTF-8/Compose > /home/masi/Desktop/test1
% I make here a change in the GUI as proposed by Severus: compose key = right Alt
[email protected]:~$ cat /usr/share/X11/locale/en_US.UTF-8/Compose > /home/masi/Desktop/test2
[email protected]:~$ diff /home/masi/Desktop/test1 /home/masi/Desktop/test2
[ no output ]

これは、xserverが高速に更新されないことを示しています。変更するには、キーボードを別のキーボードに変更してから、もう一度元に戻す必要があります。

1レベルのキーバインディングアプローチ

AltGrとして1レベルのコマンドが必要です – A äの場合 およびAltGrシフト A Äの場合 英語(US-dvorak)。
私はxev -e keyboardを実行します AltGrを押します

[ignore the beginning; press AltGr]
KeyPress event, serial 28, synthetic NO, window 0x4400001, 
root 0xd6, subw 0x0, time 13661220, (186,522), root:(186,574), 
state 0x0, keycode 108 (keysym 0xffea, Alt_R), same_screen YES, 
XLookupString gives 0 bytes: 
XmbLookupString gives 0 bytes: 
XFilterEvent returns: False 

KeyRelease event, serial 28, synthetic NO, window 0x4400001, 
root 0xd6, subw 0x0, time 13661284, (186,522), root:(186,574), 
state 0x8, keycode 108 (keysym 0xffea, Alt_R), same_screen YES, 
XLookupString gives 0 bytes: 
XFilterEvent returns: False

more /usr/share/X11/xkb/rules/xorg.lst | grep lv3 ただし、関心があるのはlv3:ralt_switchだけです。

  lv3:switch           Right Ctrl
  lv3:menu_switch      Menu
  lv3:win_switch       Any Win key
  lv3:lwin_switch      Left Win
  lv3:rwin_switch      Right Win
  lv3:alt_switch       Any Alt key
  lv3:lalt_switch      Left Alt
  lv3:ralt_switch      Right Alt
  lv3:ralt_switch_multikey Right Alt, Shift+Right Alt key is Compose
  lv3:ralt_alt         Right Alt key never chooses 3rd level
  lv3:enter_switch     Enter on keypad
  lv3:caps_switch      Caps Lock
  lv3:bksl_switch      Backslash
  lv3:lsgt_switch      <Less/Greater>
  lv3:caps_switch_latch Caps Lock chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser
  lv3:bksl_switch_latch Backslash chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser
  lv3:lsgt_switch_latch <Less/Greater> chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser

私のキーボードレイアウトはテストされましたが、メインの英語(US-dvorak)

最終解決策[Sneetsher]

AltGr によって英語(dvorak)のドットでAを設定しました – a /usr/share/X11/xkb/symbols/usの変更をマージします;スカンジナビア語でも非常にうまく機能するため、現在はドイツ語-Dvorak(ここから)

// based on a keyboard map from an 'xkb/symbols/dk' file
// Added A with dots and O with dots for AltGr-A and AltGr-O, respectively. Sneether and Masi, 17-June-2016.

partial alphanumeric_keys
xkb_symbols "dvorak" {

    name[Group1]= "English (Dvorak)";

    key <TLDE> { [       grave, asciitilde, dead_grave, dead_tilde      ] };

    key <AE01> { [          1,  exclam          ]       };
    key <AE02> { [          2,  at              ]       };
    key <AE03> { [          3,  numbersign      ]       };
    key <AE04> { [          4,  dollar          ]       };
    key <AE05> { [          5,  percent         ]       };
    key <AE06> { [          6,  asciicircum, dead_circumflex, dead_circumflex ] };
    key <AE07> { [          7,  ampersand       ]       };
    key <AE08> { [          8,  asterisk        ]       };
    key <AE09> { [          9,  parenleft,  dead_grave] };
    key <AE10> { [          0,  parenright      ]       };
    key <AE11> { [ bracketleft, braceleft       ]       };
    key <AE12> { [ bracketright, braceright,  dead_tilde] };

    key <AD01> { [  apostrophe, quotedbl, dead_acute, dead_diaeresis    ] };
    key <AD02> { [      comma,  less,   dead_cedilla, dead_caron        ] };
    key <AD03> { [      period, greater, dead_abovedot, periodcentered  ] };
    key <AD04> { [          p,  P               ]       };
    key <AD05> { [          y,  Y               ]       };
    key <AD06> { [          f,  F               ]       };
    key <AD07> { [          g,  G               ]       };
    key <AD08> { [          c,  C               ]       };
    key <AD09> { [          r,  R               ]       };
    key <AD10> { [          l,  L               ]       };
    key <AD11> { [      slash,  question        ]       };
    key <AD12> { [      equal,  plus            ]       };

    key <AC01> {[ a,          A,    adiaeresis,       Adiaeresis ]      };
    key <AC02> {[ o,          O,    odiaeresis,       Odiaeresis ]      };
    key <AC03> { [ e, E, ediaeresis, Ediaeresis ] };
    key <AC04> { [ u, U, udiaeresis, Udiaeresis ] };
    key <AC05> { [          i,  I               ]       };
    key <AC06> { [          d,  D               ]       };
    key <AC07> { [          h,  H               ]       };
    key <AC08> { [          t,  T               ]       };
    key <AC09> { [          n,  N               ]       };
    key <AC10> { [ s, S, ssharp ] };
    key <AC11> { [      minus,  underscore      ]       };

    key <AB01> { [   semicolon, colon, dead_ogonek, dead_doubleacute ] };
    key <AB02> { [          q,  Q               ]       };
    key <AB03> { [          j,  J               ]       };
    key <AB04> { [          k,  K               ]       };
    key <AB05> { [          x,  X               ]       };
    key <AB06> { [          b,  B               ]       };
    key <AB07> { [          m,  M               ]       };
    key <AB08> { [          w,  W               ]       };
    key <AB09> { [          v,  V               ]       };
    key <AB10> { [          z,  Z               ]       };

    key <BKSL> { [  backslash,  bar             ]       };

    include "level3(ralt_switch)"
};

または、まだバグがあるスクリプトを使用します

# restore your current keyboard settings 
sudo apt-get install --reinstall xkb-data
gsettings set org.gnome.desktop.input-sources xkb-options "['compose:ralt', 'caps:ctrl_modifier']"

sudo sed -i.bak 's/[[ t]*a,[ t]*A[ t]*]/[ a,          A,    adiaeresis,       Adiaeresis ]/g;' /usr/share/X11/xkb/symbols/us; 
sudo sed -i.bak 's/[[ t]*o,[ t]*O[ t]*]/[ o,          O,    odiaeresis,       Odiaeresis ]/g;' /usr/share/X11/xkb/symbols/us; 
# German-Dvorak feels better
#sudo sed -i.bak 's/[[ t]*e,[ t]*E[ t]*]/[ e,          E,    ediaeresis,       Ediaeresis ]/g;' /usr/share/X11/xkb/symbols/us; 
#sudo sed -i.bak 's/[[ t]*u,[ t]*U[ t]*]/[ u,          U,    udiaeresis,       Udiaeresis ]/g;' /usr/share/X11/xkb/symbols/us; 
#sudo sed -i.bak 's/[[ t]*s,[ t]*S[ t]*]/[ s,          S,    ssharp ]/g;' /usr/share/X11/xkb/symbols/us; 

# add     include "level3(ralt_switch)" to the end of the environment
# https://unix.stackexchange.com/a/290407/16920
# https://unix.stackexchange.com/q/290405/16920
pos=( $( sed -n -f - /usr/share/X11/xkb/symbols/us <<END_SED
    /xkb_symbols "dvorak" {/,/^};/{
            /xkb_symbols "dvorak" {/=
            /^};/=
    }
END_SED
) )
sudo sed -i.bak "${pos[1]}i    include "level3(ralt_switch)"" /usr/share/X11/xkb/symbols/us

sudo dpkg-reconfigure xkb-data
# Change your keyboard. Change Back. Should work. But some bug. I cannot get the script works stably. 

バグ

  1. キーボードをxserverにリロードする際のTODOの問題https://unix.stackexchange.com/q/290449/16920手動による変更が常に機能するとは限りません。
  2. 問題:Xserverはこれらのキーを高速にロードせず、再起動/ログアウト後もすべての場合にロードされるわけではありません。
関連:Ubuntu11.10x64を搭載したDELLInspironI15RN-3647BKのALPSタッチパッド?

システム:Ubuntu 16.04
Linuxカーネル:4.4 – 4.6
キーボードモデル:pc105
2レベルキーバインディングアプローチのキーボードレイアウト:US-デッドキーを使用したdvorakインターナショナル
1つのキーボードレイアウト-レベルキーバインディングアプローチ:英語(Dvorak) = US-dvorak 、だけでなく、英語(Classic Dvorak)

承認された回答:

  • äと入力する場合、UnicodeはU00E4

    です。
  • Äと入力する場合、UnicodeはU00C4

    です。

他の文字のUnicodeが必要な場合は、gucharmapから取得できます。

手動で入力するには、 ctrlを押します。 +シフト + u 次に00e4を押して、 Enterを押します。 、これはä

と入力する必要があります

ただし、キーの作成を使用してこれを行うためのより良い方法があります 。

設定する場合 右代替 コマンドラインを使用したコンポーズキーとして: これを実行するだけです:

gsettings set org.gnome.desktop.input-sources xkb-options "['compose:ralt']"

GUIを使用して設定する場合:

システム設定–>キーボード–>入力–>右Alt に移動して、コンポーズキーを有効にします 。 (必要に応じて別のキーを選択できます)

関連:古いカーネルのみを削除するためにワンライナーをbashしますか?

以上です!!

次に、お気に入りのテキストエディタに移動して、これを実行します:

右Altを押して放します 続いて" 続いてa 。これで、äが表示されます。 。

Äについても同じことができます 、右Altを押して放します 続いて" 続いてA

注: Shiftを押す必要があるかもしれません + ' "を取得するには

ヒント:

同様のショートカットをすべて表示したい場合は、次のファイルを表示してください: /usr/share/X11/locale/en_US.UTF-8/Compose


Ubuntu
  1. 翻訳を始める方法は?

  2. UbuntuはFat32を読むことでどのように逃げますか?

  3. Ubuntu Linux で Deepin ターミナルを使い始める方法

  1. Ubuntu20.04でUFWを使用してファイアウォールを設定する方法

  2. WebカメラをUbuntu14.04で動作させる方法は?

  3. WebexをUbuntu12.04で完全に動作させる方法は?

  1. Ubuntu16.04にNginxでMediaWikiをインストールする方法

  2. Ubuntu15.10にNginxを使用してMagentoをインストールする方法

  3. Ubuntu15.10にNginxでMailpileをインストールする方法