Komut ve Kontrol tuşlarını xkb ile adım adım nasıl değiştirebilirim?


9

Apple uzun alüminyum klavyemi değiştirilmiş Command Cmdve Control Ctrltuşlarıyla kullanmak istiyorum . Bu nasıl Trusty Tahr (14.04) kullanarak adım adım yapılır xkb?

Not: Bu şekilde çözüm benim için çalışmıyor xkbdeğiştirilir xmodmapiçinde 13.04 ve hatta daha erken .


1
Bu çözüm benim için işe yaramadı. Büyük olasılıkla modası geçmiş (aslında eminim, referansı şimdi bulamıyorum). Göndermeden önce denedim. Bu yüzden Ubuntu sürümünü belirledim.
Aleksandar Savkov

1
@WaldirLeoncio Umarım bu sorunun neden yinelenmediğini açıkça ortaya koyar
Aleksandar Savkov

Yanıtlar:


8

Bu cevap çoğunlukla burada verilen cevaba dayanmaktadır . Bu soruyu tekrar sormamın ve cevaplamamın nedeni, tam olarak açıklanmayan son adımdır. Hakkında daha geniş bilgi için xkbgörünüm burada , burada ve burada .

  1. Aşağıdaki eşlemeyi içeren ve içeren bir dosya oluşturun /usr/share/X11/xkb/symbols( içinde de olabilir /etc/X11/xkb/symbols) altwin2:

    // Control is SWAPPED with Win-keys 
    partial modifier_keys
    xkb_symbols "cmd_n_ctrl" {
        key <LWIN> {        [       Control_L               ]       };
        key <RWIN> {        [       Control_R               ]       };
        key <LCTL> {       [       Super_L         ]       };
        modifier_map Control { <LWIN>, <RWIN> };
        modifier_map Mod4 { <LCTL> };
    };
    
  2. Aşağıdaki satırdaki option = symbolsbölümün altına yerleştirin /usr/share/X11/xkb/rules/evdev(ilk satırdaki uyarıyı dikkate almayın):

    altwin2:cmd_n_ctrl               =       +altwin2(cmd_n_ctrl)
    
  3. /usr/share/X11/xkb/rules/evdev.lstBölümün altına yeni seçeneği ekleyin option:

    altwin2:cmd_n_ctrl    Win swapped with Ctrl
    
  4. Klavyeniz yapılandırma dosyası nerede olduğunu bilmiyorsanız, kullandığınız düzenleyebilirsiniz dconf-editörü ekleyerek, "altwin2:cmd_n_ctrl"içinde xkb-optionsaltında org :: gnome :: masaüstü :: girdi-kaynaklar gösterildiği gibi burada . Yapılandırma dosyanızın nerede olduğunu biliyorsanız, XkbOptionsaşağıdaki alana yeni seçeneği eklemeniz gerekir :

    Section "InputClass"
            Identifier "keyboard-layout"
            Driver "evdev"
            MatchIsKeyboard "yes"
            Option "XkbLayout" "us, ru, ca, fr"
            Option "XkbOptions" "altwin2:cmd_n_ctrl"
    EndSection
    
  5. lightdmDeğişiklikleri güncellemek için yeniden başlatın veya yeniden başlatın :

    sudo restart lightdm
    

NOT: doğrudan yerleşim dosyalarında herhangi bir değişiklik yapılırsa, yani seçenekleri kullanmazsanız, önbelleğe alınan dosyaların burada/var/lib/xkb/ belirtildiği gibi silinmesi gerekir .


2
Olmalı !option = symbolsbölümü değil options = symbols(için harcanan zaman arama "seçeneğinden =" bölümünü bulmak için).
Ben Davis


Xkb ve xmodmap ile çoğu şey gibi, çalışmıyor, muhtemelen sistemimi başka bir şekilde kırdı, bu saçmalıktan bıktım ve linux'un bok anahtar anahtarlama ve bağlama ile ilgili en temel korkutucu şeyle birlikte olmasını isterdim.
Seph

Bunun 2014 yılında yazıldığını ve modern dağıtımlar için geçerli olmadığını unutmayın.
Aleksandar Savkov

3

16.04'te nihayet işe yaradı. Xmodmap tüm uygulamalarda evrensel olarak çalışmıyor, gnome tweak aracı işlevden yoksun, özel bir altwin2 anahtar değişimini düzenleme (burada ana cevap gibi) başarısız oldu, bu yüzden birkaç cevabı bu tam, basit olarak birleştirene kadar saçlarımı yırtıyorum ve zarif bir çözüm:

gksudo gedit /usr/share/X11/xkb/symbols/pc

olarak değiştir:

default  partial alphanumeric_keys modifier_keys
xkb_symbols "pc105" {

key <ESC>  {    [ Escape        ]   };

// The extra key on many European keyboards:
key <LSGT> {    [ less, greater, bar, brokenbar ] };

// The following keys are common to all layouts.
key <BKSL> {    [ backslash,    bar ]   };
key <SPCE> {    [    space      ]   };

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

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

key  <TAB> {    [ Tab,  ISO_Left_Tab    ]   };
key <RTRN> {    [ Return        ]   };

key <CAPS> {    [ Caps_Lock     ]   };
key <NMLK> {    [ Num_Lock      ]   };

key <LFSH> {    [ Shift_L       ]   };
key <LCTL> {    [ Alt_L     ]   };
key <LWIN> {    [ Super_L       ]   };

key <RTSH> {    [ Shift_R       ]   };
key <RCTL> {    [ Alt_R     ]   };
key <RWIN> {    [ Super_R       ]   };
key <MENU> {    [ Menu          ]   };

// Beginning of modifier mappings.
modifier_map Shift  { Shift_L, Shift_R };
modifier_map Lock   { Caps_Lock };
modifier_map Control{ Control_L, Control_R };
modifier_map Mod2   { Num_Lock };
modifier_map Mod4   { Super_L, Super_R };

// Fake keys for virtual<->real modifiers mapping:
key <LVL3> {    [ ISO_Level3_Shift  ]   };
key <MDSW> {    [ Mode_switch       ]   };
modifier_map Mod5   { <LVL3>, <MDSW> };

key <ALT>  {    [ NoSymbol, Control_L, Control_R    ]   };
//include "altwin(meta_alt)"
key <LALT> {    [ Control_L     ]   };
key <RALT> {    [ Control_R     ]   };
modifier_map Mod1   { Alt_L, Alt_R, Meta_L, Meta_R };

key <META> {    [ NoSymbol, Meta_L, Meta_R  ]   };
modifier_map Mod1   { <META> };

key <SUPR> {    [ NoSymbol, Super_L ]   };
modifier_map Mod4   { <SUPR> };

key <HYPR> {    [ NoSymbol, Hyper_L ]   };
modifier_map Mod4   { <HYPR> };
// End of modifier mappings.

key <OUTP> { [ XF86Display ] };
key <KITG> { [ XF86KbdLightOnOff ] };
key <KIDN> { [ XF86KbdBrightnessDown ] };
key <KIUP> { [ XF86KbdBrightnessUp ] };
};

hidden partial alphanumeric_keys
xkb_symbols "editing" {
key <PRSC> {
type= "PC_ALT_LEVEL2",
symbols[Group1]= [ Print, Sys_Req ]
};
key <SCLK> {    [  Scroll_Lock      ]   };
key <PAUS> {
type= "PC_CONTROL_LEVEL2",
symbols[Group1]= [ Pause, Break ]
};
key  <INS> {    [  Insert       ]   };
key <HOME> {    [  Home         ]   };
key <PGUP> {    [  Prior        ]   };
key <DELE> {    [  Delete       ]   };
key  <END> {    [  End          ]   };
key <PGDN> {    [  Next         ]   };

key   <UP> {    [  Up           ]   };
key <LEFT> {    [  Left         ]   };
key <DOWN> {    [  Down         ]   };
key <RGHT> {    [  Right        ]   };
};

Kayıt etmek.

rm -rf /var/lib/xkb/*

(Bunun gerekli olup olmadığını bilmiyorum, ama yaptım.)

Yeniden Başlatma.


Bunun için teşekkürler. Yakın gelecekte 16.04'e taşındığımda test edeceğim.
Aleksandar Savkov

Bunu 16.10 güncellememde kullandım. Çok güzel çalıştı.
Tom Mercer

1
En basit cevap, Fedora'mda bir cazibe gibi çalıştı. Teşekkürler!
hakunin
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.