Farklı diller için klavye düzenleri nasıl değiştirilir?


11

S: Standart olmayan bir klavye düzeni kullanırken farklı diller için giriş yöntemleri arasında nasıl geçiş yapabilirim?

Metni iki farklı dilde düzenlemeliyim. Arabelleğe metin eklerken, elbette tuş bağlamalarımı iki dilde kullanabilmek istiyorum. Alternatif dili seçebilmem toggle-input-method( C-\) ve seçebilmem gerekiyor gibi görünüyor .

Şimdiye kadar, neredeyse çok iyi.

İşte ovmak: Ben OS düzeyinde (yani, ile setxkbmap) ayarladığım İngilizce Dvorak düzeni kullanın . Ben toggle-input-method, QWERTY düzeni (ABD'de standart) vardı, ancak Dvorak olduğum için anlamsız geliyorsa eklediğim metin doğru olurdu. (FWIW, düzenimi standart ABD'ye değiştirdiğimde, iyi çalışıyor.)

Peki: Emacs'ı Dvorak'ı kullandığımı toggle-input-methodve arkadaşlarımın tuş basışlarımı diğer dildeki doğru karakterlere çevirmeleri için nasıl bilgilendiririm ?


İsveç-postfix ve diğer kompozisyon giriş yöntemleri benim için çalışıyor, hangi yöntemlerle sorun yaşıyorsunuz?
shapr

@shapr: İngilizce ve Arapça arasında geçiş yapıyorum. Sorun, işletim sistemi düzeyinde standart ABD düzenini kullandığımda geçiş iyi çalışıyor gibi işletim sistemi düzeyinde bir Dvorak düzeni kullanıyorum gibi görünüyor.
Dan

Yanıtlar:


7

Giriş yönteminin fiziksel düzen tanımını ayarlayarak değiştirmek için bir yöntem vardır quail-keyboard-layout-type. Ama görünüşe göre Dvorak, quail-keyboard-layout-alistEmacs 24.4'ümdeki olası adaylar arasında değil .

Ya tanımına bakarak yeni bir fiziksel klavye düzenini tanımlayabilirsiniz quail-keyboard-layout-alistiçinde quail.elveya Dvorak düzeni için ilgili Arapça tuşları tanımlayarak yeni bir giriş yöntemi oluşturun.

İlkinde tecrübeli değilim, ama ikinci yaklaşımı düşündüğünüzden daha kolay ifade edebilirim. (Farsça'nın üstünde bir Osmanlı Türkçesine giriş yöntemi yaratmak zorunda kaldım.) Evdeki arabic.elDebian sistemimde bulunan kopyaları tercihlerinize göre değiştirin. Ayrıca, giriş yöntemi adlarını vb. Değiştirmeyi unutmayın. Yeni bir Dvorak-Arapça giriş yöntemi oluşturdunuz./usr/share/emacs/24.4/lisp/leim/quail/arabic.el.gzsite-lisp

Herhangi bir şey karmaşık görünüyorsa cevabı daha fazla ayrıntıyla güncelleyebilirim.


Teşekkür ederim! Bu beni doğru yola soktu. Sürümde oraya nasıl geldiğimi gösteren ek bir cevap göndereceğim ...-alist.
Dan

Rica ederim. Güncellemenizi quail-. *-alistEmacs geliştirmesine göndermeyi düşünebilirsiniz . Bundan faydalanacak başka Dvorak kullanıcıları olduğundan eminim.
Emre Şahin

7

@EmreSahin bu soruyu cevaplamak için beni doğru yola koydu, bu yüzden başka birinin böyle bir sorunla başa çıkması gerektiğinde biraz ayrıntı veriyorum.

Emre'nin işaret ettiği gibi, bir Dvorak düzeni eklememiz gerekiyor quail-keyboard-layout-alist. quailKütüphanenin, bir düğümden geçerken ilgili iki işlevden bahsedildiği kılavuzda iyi belgelenmediği ortaya çıktı .

Ancak, bu yardım dizisine ve özellikle Dvorak ile Rusça'daki EmacsWiki sayfasına (bu cevap beşiğinden) baktıktan sonra, anladım.

Değişkenin öğretisi quail-keyboard-layoutne koymamız gerektiğini açıklar quail-keyboard-layout-alist. Her biri 15 tuşlu 6 sıraya karşılık gelen uzun bir dizedir. Her satır, satır başına toplam 30 karakter olmak üzere her tuşun kaydırılmamış ve kaydırılmış değerlerine karşılık gelir. Aşağıdaki noktadan daha az eminim, ancak 4 tuşlu "yarı standart" klavyeler dediğim için, birinci ve altıncı satırların her birinin 30 boşluk olması gerektiği anlaşılıyor.

Büyük açıklama:

(require 'quail)

(add-to-list 'quail-keyboard-layout-alist
             `("dvorak" . ,(concat "                              "
                                   "  1!2@3#4$5%6^7&8*9(0)[{]}`~  "
                                   "  '\",<.>pPyYfFgGcCrRlL/?=+    "
                                   "  aAoOeEuUiIdDhHtTnNsS-_\\|    "
                                   "  ;:qQjJkKxXbBmMwWvVzZ        "
                                   "                              ")))

(quail-set-keyboard-layout "dvorak")
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.