Basit bir yeniden gösterim için setxkbmap kullanma (xmodmap benzeri)


13

Klavyeyi xmodmap ile yeniden eşledikten sonra bazı sorunlarla karşılaştım: ayarlar uygulandıktan sonra 2-20 dakika sonra rastgele sıfırlanır. Googled ama yardım yok: bir şey onları sıfırlar, ancak her zaman xfce için geçerlidir, her zaman 14.04 Ubuntu ile birlik altındayım.

'Xkb kullan, xmodmap'i unut' gibi ifadeler gördüm, ancak yine de bunu nasıl yapacağım hakkında hiçbir fikrim yok. Sınıflandırılmış veya çok karmaşıktır, çünkü bu konuda bilgi miktarı xmodmap yolundan önemli ölçüde daha azdır.

İşte benim özelleştirme listem:

xmodmap -e "keycode 84 = Down"
xmodmap -e "keycode 79 = Home"
xmodmap -e "keycode 80 = Up"
xmodmap -e "keycode 83 = Left"
xmodmap -e "keycode 85 = Right"
xmodmap -e "keycode 87 = End"
xmodmap -e "keycode 90 = Insert"
xmodmap -e "keycode 91 = Delete"
xmodmap -e "keycode 89 = Next"
xmodmap -e "keycode 81 = Prior"

Burada anahtar kodları numpad = off ile karşılık gelen tuşlardır (temel olarak, KP_Del yerine Delete, KP_Home yerine Home vb. koyuyorum - nedenini sorma)

Birisi xkb kullanarak bunu yapmanın bir yolunu bulmaya yardımcı olabilir mi - en az bir satır? Ve örnek için geri kalanı yapabilmek için diğer anahtarların "adlarını" nerede bulabilirim?


5
Evet. Tamamen aynı sorun vardı. Buraya bakın: rlog.rgtti.com/2014/05/01/… ve askubuntu.com/questions/422650/… . xkbSistem dosyalarını yeniden yazmadan nasıl kullanacağınızı bulabilirseniz , buraya bir cevap yazın ... milyonlarca upvotes ile ödüllendirileceksiniz.
Rmano

Vay canına - nihayet işleri daha net hale getiren bir xkb yeniden eşleme kılavuzu ... Ama Home'ları, Delete'leri ve Up- & Down-arows'ları yeniden eşlemeyle ilgili bir şey göremiyorum. Her zaman bazı Yunan veya İspanyol harfleri ile ilgilidir. Şimdiye kadar başka bir yoldan gittim - sistemin Xmodmap ayarlarımı geçersiz kılmasını engellemeye çalışıyorum (3 numaralı tarif: buradan: programmingiroiro.blogspot.com/2013/03/… )
Den Drobiazko

1
Kötü fikir - bundan sonra düzen değiştirme yok (
Den Drobiazko

Yanıtlar:


4

Benzer bir soruna cevabımda görülen genel fikri takip edebilirsiniz ; hala düzen değiştirme istiyorsanız (yine de oldukça bozuk olsa da ) yeni bir düzen veya değişken tanımlamanız gerekir .

Bir tuş takımını düzenlemek için kopyalamak ve değiştirmek için şablonun bulunmasının biraz zor olduğuna dikkat edin. Örneğin klavyemde geometri "pc105"; bu, içinde tanımlanır /usr/share/X11/xkb/symbols/pc. Eğer içine bakarsanız, şunları içerir :

[...]
key <SPCE> {        [        space          ]       };

include "srvr_ctrl(fkey2vt)"
include "pc(editing)"
include "keypad(x11)"

key <BKSP> {        [ BackSpace, BackSpace  ]       };
[...]

Tuş takımı dosyada tanımlanır /usr/share/X11/xkb/symbols/keypad

[...] 
default  partial hidden keypad_keys
xkb_symbols "x11" {
   include "keypad(operators)"

   key  <KP7> {        [  KP_Home,     KP_7    ]       };
   key  <KP8> {        [  KP_Up,       KP_8    ]       };
[...]

Anahtar sembollerin (keysims) adı için, bakılacak en iyi yer dosyaya /usr/include/X11/keysymdef.h; geliştirme paketlerinin sahip olması için (veya yükleyerek yüklemeniz x11proto-core-dev) gerekebilir :

[...]
/* Cursor control & motion */

#define XK_Home                          0xff50
#define XK_Left                          0xff51  /* Move left, left arrow */
#define XK_Up                            0xff52  /* Move up, up arrow */
[...]

keysym adı, "XK_" dizesini daha önce kaldırdığınız addır.

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.