Seçili olan klavye düzenini komut satırından nasıl değiştirebilirim?


12

Benim klavye düzenleri (ikisi) ve aşağıdaki komut ile yapılandırılmış aralarında geçiş var:

setxkbmap -layout us,ru -option -option "grp:lctrl_lshift_toggle,ctrl:nocaps"

Şimdi usbazı komut satırı komutlarını kullanarak düzene geçmek istiyorum . Mümkün mü?

Yanıtlar:


13

Sen kullanabilirsiniz xkb-şalterini ( -nsonraki düzenine geçer):

xkb-switch -n

veya xkblayout-state ( set +1durumda, etrafınızda dolaşmak için):

xkblayout-state set +1

ya da xtegelen xautomation taklit etmek için Control_L+ Shift_Ltuş / serbest:

xte 'keydown Control_L' 'keydown Shift_L' 'keyup Shift_L' 'keyup Control_L'

xkblayout-state harika, teşekkürler! Sadece kullanıyorum xkblayout-state set 1ve anında usdüzen alıyorum .
Rogach

2

İçin Stack Exchange aramalar kbdmap bu sayfayı bulmak hiç bu kelimenin söz. Açıklık getirmek için, bir cevap (sorunun X11 etiketine tam olarak uymayan , ancak birisine yardımcı olması gerekir)…

Sanal bir konsolla sınırlı olduğunda

- X olmadan .

kbdmap (1)

kbdmap, vidfont- syscons ve vt için ön uç

… Mevcut tuş haritalarının kolayca ayarlanmasını sağlar…

Gerçekten, kolay ve (benim için bir İngiliz klavye düzenine geçmek) etkilidir.

X kullanırken

- örneğin, FreeBSD tabanlı TrueOS Masaüstü ile.

Gönderen mesaja 5 altında değiştir klavye düzeni? | FreeBSD Forumları (2015-08-03):

kbdmapkonsol içindir. setxkbmapX11 için istediğiniz yardımcı programdır. ...

İçin değiştirilirken bir uyarı, örneğin var U nited Krallığı:

$ kbdmap
kbdcontrol: getting keymap: Inappropriate ioctl for device
You are not on a virtual console - expect certain strange side-effects
lang_default = en
dialect = en_...UTF-8
lang_abk = en

…

keymap="uk.kbd"
$ 

1

Klavye düzenlerinin dağıtımına bağlı olarak, komut

loadkeys <path/to/file>

loadkey /lib/kbd/keymaps/i386/qwerty/pt_PT.map.gz

Eğer doğru hatırlıyorsam. Ayrıca, belirli davranışa belirli anahtarlar atamak istiyorsanız mankey'de yük anahtarları olup olmadığını kontrol edin.


Sorun, yaptıktan sonra (örneğin) loadkeys us, setxkbmap (iki düzen ve aralarında geçiş) ile oluşturduğum ayarları sıfırlar
Rogach

Bildiğim kadarıyla bu düzenleri değiştirmek için komut olduğunu, belirli bir varsa, o zaman en iyi yolu, yout ayarları ile loadkeys arayacak bir kabuk takma adı olması olurdu sanırım. ör: load_us, bize klavyeyi yükler ve aslında / lib/kbd/keymaps/i386/qwerty/us.map.gz veya benzeri loadkey'i çağırır. Ve aynı diğer düzen için.
BitsOfNix

Ancak daha sonra klavye ayarlarını nasıl değiştirebilirim? Şu anda, yük tuşlarını kullanarak Ctrl-Shift tuşlarına basarak düzenleri değiştiriyorum.
Rogach

Buraya bir adım atalım, komut satırından bir tty terminalinden bahsettiğinizi varsayıyorum. Yani xterm / terminoloji / gnome terminali veya başka bir emülatör kullanmıyorsunuz ama aslında X sunucusu olmayan bir ortamdasınız. Bunu aldıktan sonra, yük tuşlarını kullanmanız gerekir, sorunuza göre, size komut satırını verdim, aslında istediğiniz bir anahtar kısayol gibi görünüyor. Eşlenecek belirli anahtarlarınız varsa, kendi mizanpajlarınızı oluşturmanız ve daha sonra bir yükleme noktasından yükleme anahtarlarıyla bir istek üzerine yüklemeniz gerekir. Bunun yerine bir kısayol istiyorsanız, sorunuzu güncelleyin.
BitsOfNix

Hayır, gerçekten de grafiksel ortam ve özellikle gnome-terminal kullanıyorum. Sadece X düzenini programatik olarak değiştirmem gerekiyor, bazı olaylara tepki olarak - bu nedenle, tty şeyler işe yaramayacak.
Rogach

0

Şu dağıtım için şu makaleye göz atın: Çeşitli dağıtımlarda çeşitli komutlar için çeşitli dağıtımlar için Çeşitli Dağıtımlarda Dil ve Klavye Düzenini Değiştirme .

Bu komutların çoğu GUI olarak bulunur, ancak bakarsanız çoğu komut satırından da çalıştırılabilir. Örneğin Fedora (Red Hat tabanlı dağıtım) kullanıyorum. Bağımsız system-config-keyboarddeğişken olmadan çalıştırıldığında komut bana bir GUI gösteriyor.

Ama eğer çalıştırırsam system-config-keyboard --helpkomut satırından da çalıştırılabilir:

$ system-config-keyboard --help
Usage: system-config-keyboard [--help] [--noui] [--text] [<keyboardtype>]
       --help            Print out this message.
       --noui            Run in command line mode.
       --text            Run in text interface mode.

       <keyboardtype> options are: ar-azerty, ar-azerty-digits, ar-digits, ar-qwerty, ar-qwerty-digits, be-latin1, ben, ben-probhat, bg_bds-utf8, bg_pho-utf8, br-abnt2, cf, croat, cz-lat2, cz-us-qwertz, de, de-latin1, de-latin1-nodeadkeys, dev, dk, dk-latin1, dvorak, es, et, fi, fi-latin1, fr, fr-latin1, fr-latin9, fr-pc, fr_CH, fr_CH-latin1, gr, guj, gur, hu, hu101, ie, is-latin1, it, it-ibm, it2, jp106, ko, la-latin1, mk-utf, nl, no, pl2, pt-latin1, ro, ro-cedilla, ro-std, ro-std-cedilla, ru, sg, sg-latin1, sk-qwerty, slovene, sr-cy, sr-latin, sv-latin1, tj, tml-inscript, tml-uni, trq, ua-utf, uk, us, us-acentos

Klavye düzenimi Rusça olarak değiştirmek için aşağıdaki komutu çalıştırabilirim:

$ system-config-keyboard ru
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.