Süper anahtarlarımın (Windows Key) Linux'ta Ctrl / Alt / Shift gibi davranmasını nasıl sağlayabilirim?


7

Kullandıktan sonra Ctrl + X tuşlarında sanal masaüstlerini değiştirmek için 13 yıldır "ok tuşları" yerine, son zamanlarda Süper tuşları kullanmaya (pencereleri ve yeniden başlattığım bağlam menüsü tuşunu) değiştirmeye ikna ettim. Bütün bunlar çoğunlukla iyi sonuç veriyor. Ancak, bir şey hala bu anahtarların normal bir alfasayısal benzeri anahtar gibi gönderdiği önemli olayları alıyor.

Örneğin, bunu Google Dokümanlar elektronik tablosunda ilk önce bir hücrenin üstünde tek başına windows tuşuna basarsam, o hücreyi düzenlemeye başladığını fark ettim. Hiçbir şey eklemez, yalnızca Firefox'un hücreyi görüp düzenlemeye başlamasına neden olan önemli bir olay gönderir. Bu, Google docs'un çalışma şekliyle üzerinde çalıştığım ortak bir belgede sorunlara neden oldu, neler olduğunu anlamadan önce verileri birkaç alanda yanlışlıkla silmeme yol açtı.

Süper tuşları kullanmaktan hoşlanıyorum ama onların daha çok gibi davranmalarını istiyorum Ctrl veya Alt bu tuş bir değiştirici tuşa basar ve ikinci bir tuş basılana kadar hiçbir şey göndermez.

Kurulumum şöyle:

  • Ubuntu 10.10
  • XFCE 4
  • Microsoft Natural Ergo 4000 klavye (logo elbette çizik ile)
  • Aşağıdaki benim .Xmodmap dosya:

Kaldır Lock = Caps_Lock

anahtar kodu 66 = Kaçış

! Aşağıda diğer pencerelerimin bağlam menüsü tuşunu eşleştiriyor.

anahtar kodu 135 = Super_R

Düzenle: İstenildiği gibi, işte Süper_L (sol pencereler tuşu) bir tuşa basılması ve keyrelease için xev gelen ilgili çıktı

KeyPress event, serial 34, synthetic NO, window 0x8200001,
    root 0x15d, subw 0x0, time 2428849342, (177,174), root:(182,228),
    state 0x10, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 34, synthetic NO, window 0x8200001,
    root 0x15d, subw 0x0, time 2428849430, (177,174), root:(182,228),
    state 0x50, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

1
Koşmak xev Win tuşuna bastığınızda üretilen satırları kaydedin.
Juliano

@Juliano: İstediğim gibi sorumu gönderildi. Daha önce bu çıktıya bakmıştım ve sorunum için yararlı bir şey bulamadım, ancak bu sizin veya başkasının bulamayacağı anlamına gelmez.
deltaray

Xev çıktınızdan, Win tuşuna basıldığında hiçbir şey üretilmez. Bu yüzden, Firefox’un bunu girdi olarak yorumlamasının neden benim için bir sır olduğunu.
Juliano

Yanıtlar:


9

XFCE ile ilgili olmayan şeyler

Sorununuz için tam olarak bir cevap olmayacak, bunun için üzgünüm, ama yine de en azından birileri için faydalı olmalı. Gnome'da son Ubuntus'ta düzeltildi. Bununla demek istiyorum ki tedavi etmek kazanmak değiştirici anahtar olarak değil. Eski günlerde, örn. Ubuntu 9.04’te, aşağıdaki değişiklikleri yapmanız gerekiyordu:

Git System -> Preferences -> Keyboard, altında Layouts sekme tıklaması Layout options... düğme ve içinde Alt/Win key behavior liste seçimi Meta is mapped to Win keys (veya Meta is mapped to Left Win ) yerine Default.

Gerçekten ne işe yarıyor? değişiklikler altwin seçenek $HOME/.gconf/desktop/gnome/peripherals/keyboard/kbd/%gconf.xml dosya (yoksa yoksa oluşturur):

<?xml version="1.0"?>
<gconf>
        <entry name="options" mtime="1298496603" type="list" ltype="string">
                <li type="string">
                        <stringvalue>altwin     altwin:meta_win</stringvalue>
                </li>
        </entry>
</gconf>

Seçtiyseniz Left Win, sonra dize değeri olacak:

altwin     altwin:left_meta_win

Ubuntu 10.10’da olduğu gibi Default görünüşe göre değişti.

Ama XFCE'niz var, Gnome değil, bu yüzden bu size yardımcı olmaz.

XFCE ile ilgili şeyler

Xubuntu'yu (9.10) indirdim, biraz oynadım ve sonunda bir çözüm buldum.

Birincisi, yine de, klavye ayarlarının gerçekten XFCE’de yapıldığını söylemeliyim. İçinde Settings -> Keyboard altında Layout sekmesi çok fazla seçeneğiniz yok. Değiştiremezsin XkbOptions orada ve manuel olarak yapsanız bile ~/.config/xfce4/xfconf/xfce-perchannel-xml/keyboard-layout.xml, üzerine yazılacaktır. Bu yüzden değiştim /etc/default/console-setup toplayarak altwin:meta_win için XKBOPTIONS (zaten başka seçenek varsa, ayırıcı olarak virgül kullanın). Yine de şans yok.

tl; Dr.

Çözüm nedir?

Görünüşe göre bozuk olduğu için, XFCE klavyeyi kullanma şeklini önemsemeyin. kullanım setxkbmap direkt olarak:

setxkbmap -option altwin:meta_win

(veya left_meta_win, sen neyi tercih edersen)

Şimdi sorunun gerçekten çözüldüğünü kontrol etmelisin. :)

Kalıcı olarak nasıl uygulanır?

echo -option altwin:meta_win >>~/.Xkbmap

Tüm kullanıcılar için yazarak da yapılabilir. /etc/X11/Xkbmap yerine.

Nasıl hızlı bir şekilde kontrol edebilirim altwin:meta_win veya altwin:left_meta_win uygulandı mı?

setxkbmap -print

İle satır xkb_symbols gibi bir şey olmalı altwin(meta_win).


Cevabımda gerçek bir çözüm ekledim. Lütfen kontrol et.
przemoc

Evet setxkbmap -option altwin: meta_win komutu çalıştı. Bir çözüm için çalıştığınız için teşekkür ederiz. Umarım bu başkalarına yardım eder, yarın beni climagic'e gönderirim, çünkü oradaki insanlar beni ilk başta windows anahtarını kullanmaya teşvik eden insanlardı.
deltaray

@deltaray: Ayrıca Bounty düğmesine tıklamanız gerekiyor. Ödül otomatik olarak verilmez.
harrymc

Thanks @harrymc Bunu anlamadım. Tıkladım.
deltaray
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.