GNU/Linux >> Belajar Linux >  >> Ubuntu

Bagaimana Mendapatkan A Dengan Titik Di Dvorak Ubuntu 16.04?

Saya ingin mengetik A dengan titik (Ä / ä ) sebagai keybinding satu tingkat di keyboard Ubuntu 16.04 dari Macbook Air 2013-mid, output dari setxkbmap -query

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

Secara default, tidak ada AltGr di keyboard, hanya dua Alts. Perintah ini menjadikan alt kanan Anda sebagai kunci penulisan (AltGr ) tetapi mempertahankan konfigurasi keyboard khusus Anda sendiri, dll. Memiliki Capslock sebagai CTRL dengan caps:ctrl_modifier , lihat di sini

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

Akan sangat bagus untuk memiliki xmodmap solusi independen jika ini akan diubah karena akan disusutkan.

Pendekatan keybinding dua tingkat

Kami hanya dapat melakukan pendekatan pengikatan kunci dua tingkat dengan Dvorak International dengan kunci mati.

  • Jawaban SeverusTux adalah perintah dua tingkat sebagai AltGrBergeserQ + A , yang hanya berfungsi di us-drovak, international with deadkeys .
  • SeverusTux. Ctrl +Bergeser +u +e4 + Masukkan berfungsi dan memberi Anda ä . Bagaimana Anda dapat memetakan ini ke pengikatan kunci satu tingkat Alta ?

Saya melakukan di mana Anda melihat bahwa GUI membuat perubahan di tempat lain. Saya sangat ingin tahu di mana

[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 ]

Ini menunjukkan bahwa xserver tidak memperbarui dengan cepat. Anda harus mengganti keyboard Anda ke sesuatu yang lain dan kembali lagi, untuk perubahan tersebut.

Pendekatan Keybinding Satu Tingkat

Saya ingin perintah satu tingkat sebagai AltGrA untuk ä dan AltGrBergeserA untuk Ä dalam bahasa Inggris(US-dvorak).
Saya menggunakan xev -e keyboard dan tekan 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

Anda bisa mendapatkan semua sakelar yang memungkinkan dengan more /usr/share/X11/xkb/rules/xorg.lst | grep lv3 tapi kami hanya tertarik pada 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

Tata letak keyboard saya diuji tetapi bahasa Inggris utama (US-dvorak)

Solusi akhir [Sneetsher]

Saya menyetel A dengan titik dalam bahasa Inggris(dvorak) oleh AltGra . Gabungkan perubahan di/usr/share/X11/xkb/symbols/us; sekarang bahasa Jerman-Dvorak karena bekerja dengan sangat baik untuk bahasa Skandinavia juga (dari sini)

// 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)"
};

Atau gunakan skrip yang masih buggy

# 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. 

Bug

  1. TODO masalah dengan memuat ulang keyboard kembali ke xserver https://unix.stackexchange.com/q/290449/16920 Perubahan manual tidak selalu berhasil.
  2. Komplikasi:Xserver tidak memuat kunci tersebut dengan cepat dan bahkan tidak dalam semua kasus setelah restart/logout.
Terkait:ALPS touchpad pada DELL Inspiron I15RN-3647BK dengan Ubuntu 11.10 x64?

Sistem:Ubuntu 16.04
Kernel Linux:4.4 – 4.6
Model keyboard:pc105
Tata letak keyboard untuk pendekatan pengikatan tombol dua tingkat:US-dvorak internasional dengan deadkey
Tata letak keyboard untuk satu- pendekatan keybinding level:Bahasa Inggris (Dvorak) =AS-dvorak , tetapi juga Bahasa Inggris (Dvorak Klasik)

Jawaban yang Diterima:

  • Untuk mengetik , unicode adalah U00E4

  • Untuk mengetik , unicode adalah U00C4

Jika Anda menginginkan unicode karakter lain, Anda bisa mendapatkannya dari gucharmap

Untuk memasukkannya secara manual, tekan ctrl +shift +u dan diikuti oleh 00e4 dan tekan Enter , ini harus mengetik

Namun ada cara yang lebih baik untuk melakukannya menggunakan Tombol Tulis .

Jika Anda ingin menyetel Alt kanan sebagai kunci penulisan menggunakan baris perintah: jalankan saja ini :

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

Jika Anda ingin mengaturnya menuntut GUI :

Aktifkan tombol tulis dengan masuk ke Pengaturan Sistem -> Keyboard -> Mengetik -> Alt Kanan . (Anda dapat memilih kunci yang berbeda jika diinginkan)

Terkait:Bash one-liner untuk menghapus hanya kernel lama?

Itu saja !!

Sekarang buka editor teks favorit Anda dan lakukan ini :

Tekan dan lepaskan Alt Kanan diikuti oleh " diikuti oleh a . sekarang Anda akan melihat ä .

Hal yang sama dapat dilakukan untuk Ä , Tekan dan lepaskan Alt Kanan diikuti oleh " diikuti oleh A

CATATAN : Anda mungkin perlu menekan Shift +' untuk mendapatkan "

KIAT:

Jika Anda ingin melihat semua pintasan serupa, lihat file ini:/usr/share/X11/locale/en_US.UTF-8/Compose


Ubuntu
  1. Bagaimana Memulai Terjemahan?

  2. Bagaimana Cara Membuat Webcam Bekerja Dengan Ubuntu 14.04?

  3. Bagaimana Ubuntu lolos dari membaca FAT32?

  1. Cara Mengatur Firewall dengan UFW di Ubuntu 20.04

  2. Bagaimana Agar Webex Bekerja Sepenuhnya Dengan Ubuntu 12.04?

  3. Cara Memulai Deepin Terminal di Ubuntu Linux

  1. Cara Menginstal MediaWiki dengan Nginx di Ubuntu 16.04

  2. Cara Menginstal Magento dengan Nginx di Ubuntu 15.10

  3. Cara Menginstal Mailpile dengan Nginx di Ubuntu 15.10