Silmek için açma / kapatma tuşunu yeniden eşleme


14

FluxBox ile Ubuntu 13.10 çalıştıran bir macbook pro var. Ne yazık ki, güç düğmesi fiziksel olarak silme tuşunun olmasını beklediğim geri alanının üzerindedir. OS X'te, PowerKey programı , güç anahtarını silmek için yeniden eşlemek için kullanılabilir. X Windows'da benzer bir şeyi nasıl yapabilirim?

Güç tuşunu düzenleyerek /etc/systemd/logind.confve ayarlayarak devre dışı bıraktım HandlePowerKey = ignore Bundan sonra, dizüstü bilgisayarı kapatmadan güç düğmesine basabilirim.

Koşu xev -event keyboard, güç anahtarı için KeyPress'in normalde başka bir işlem tarafından yenildiğini gösterir:

MappingNotify event, serial 36, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

KeymapNotify event, serial 36, synthetic NO, window 0x0,
    keys:  1   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

KeymapNotify event, serial 37, synthetic NO, window 0x0,
    keys:  1   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

Ancak doğrudan konsoldan sadece xterm çalıştırarak, başarılı bir şekilde kodunu alıp anahtarı yeniden başardım.

xinit /usr/bin/xterm -- :1
xev -event keyboard | tee /tmp/junk.txt
tail -n ???? /tmp/junk.txt
MappingNotify event, serial 28, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

KeyPress event, serial 28, synthetic NO, window 0x600001,
    root 0xa1, subw 0x0, time 720369, (146,89), root:(148,91),
    state 0x0, keycode 124 (keysym 0x1008ff2a, XF86PowerOff), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 28, synthetic NO, window 0x600001,
    root 0xa1, subw 0x0, time 720369, (146,89), root:(148,91),
    state 0x0, keycode 124 (keysym 0x1008ff2a, XF86PowerOff), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

MappingNotify event, serial 29, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

Bu noktada, anahtarı xmodmap kullanarak eşlemek de mümkün oldu. Silmek yerine görmek daha kolay ters eğik çizgi ile eşledim:

 xmodmap -e "keycode 124 = backslash bar"

Bunu ekleyerek çalıştırmak için zar zor fonksiyonel bir eşdeğer alabilirsiniz ~/.fluxbox/keysama bu hem çirkin hem de kullanılamaz olacak kadar yavaş.

  # Remap the power off to a delete key...
  XF86PowerOff :Exec xdotool key Delete

Güç düğmesini normal bir pencere yöneticisiyle aynı anda kullanmak için xmodmap veya setxkbmap'yi nasıl kullanabilirim?

Yanıtlar:


3

Son cümleyi, soruyu tam olarak anlamıyorum, ancak şu soru başlığı ile ilgili olabilir: "Silmek için güç anahtarını yeniden eşleme".

Herhangi bir "XF86PowerOff" veya yalnızca klavyenize karşılık geleni / usr / share / X11 / xkb / symbol / inet ile değiştirmeyi deneyin.

Bu dosyayı güncelleyen bir sistem güncellemesinden sonra bunu tekrarlamanız gerekir.


bkz askubuntu.com/questions/325272/... detaylar için. bu cevap kabul edilmelidir.
phil294

1

Bu tam bir cevap değil, ama fn+ tuşuna basmayı denediniz deletemi? Bu, gerçek bir silme işlevi görmeli ve 'geri silme' eylemine karşılık gelmelidir ve güç anahtarına çok yakındır.

Başka bir ipucu:

fn+ enterBir görevi görür takın , basına gerekir, böylece düğme shift+ fn+ enterve Yapıştır bir orta tıklama gibi.


0

Kesinlikle söylemek zor. Bunlar zaten denediğiniz şeyler olabilir, ancak kolay bir çözüme yol açabilirler.

Xmodmap diğer anahtarlar için mi çalışıyor, ya da fluxbox'ın xmodmap'i tamamen kıran bir şey var mı?

X'i başlatır, güç tuşunu değiştirir ve akı kutusunu başlatırsanız ne olur? Haritalama yapışıyor mu?

Fluxbox çalışmadan önce xmodmap çalışıyorsa ve ayarlarınızı koruyorsa, her ikisini de uygun sırayla aramak için bir kabuk komut dosyası yazabilirsiniz veya gdm kullanıyorsanız, fluxbox resme girmeden önce sizin için otomatik olarak okumalı ~/.xmodmapveya okumalıdır ~/.xmodmaprc.


Evet, xmodmap çalışıyor. Şu anda, sırasıyla xmodmap -e "remove mod1 = Alt_L" -e "kaldır mod4 = Super_L" -e "mod1 = Super_L" -e "ekle mod1 = Alt_L kullanarak silmek ve eklemek için doğru alt ve sağ komut yeniden remapped var "-e" mod1'i kaldır = Alt_R "-e" mod4'ü kaldır = Super_R "-e" keysym Alt_R = "-e" keysym'i sil Super_R = Ekle "
nathan

Fluksbox içine xmodmap -pke çıktısını ekleyebilir misiniz?
Mike Fairhurst

@nathan bu yüzden xmodmap çalıştırıldığında, fluxbox'tan sonra veya önce problem. Müthiş wm ile aynı sorunu vardı
Darek
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.