Windows 7'de Alt tuşuna basıldığında menü çubuğunun etkinleştirilmesini devre dışı bırakın


17

Windows 7'de Alt, basıldığında menü çubuğunu etkinleştiren işlevi nasıl devre dışı bırakabilirim ?

Bu davranışı değiştirmek için bazı kayıt defteri değerleri var mı?

Yanıtlar:


2

Cevap hayır. Bunu nasıl yapabilirlerdi? Eğer bunu yaptılar ve birisi devre dışı bıraksaydı, insanları çok gerekli menü öğelerinden keserlerdi. Bu bir kabus olurdu.

Yapabileceğiniz tek şey bununla yaşamak veya Düzenle> Düzen> Menü çubuğu'nu tıklayarak menüyü kalıcı olarak etkinleştirmektir.


9
Bir yorum olmalı.
Moab

@Moab Bunun bir cevap olduğunu düşündüm, ama daha net olacağım.
KCotreau

@KCotreau: Dediğiniz gibi, menü çubuğunu elde etmenin bir yolu var, bu yüzden benim için ALT anahtarının bunu üretmesi gereksiz.
mjsr

@voodoomsr Ama eğer ALT'ınız yoksa ve daha önce kalıcı olarak açmamış olsaydınız, kilitlenirdiniz, değil mi?
KCotreau

Bir programın Alt'ı global olarak devre dışı bırakması kolaydır, ancak test etmek zordur. Senden önce başka bir programın çağrıyı kesmeyeceğine dair bir garanti yoktur. . .
surfasb

12

AutoHotkey'i zaten kullanıyorum , bu yüzden betiğime bu satırı ekledim ve neredeyse tüm uygulamalarda bu sinir bozucu davranışı düzeltti:

~LAlt Up:: return

IE'de çalışmıyor ama yine de IE kullanmıyorum. :)

BTW, ayrıca can sıkıcı başlat menüsü açılır penceresini kullanarak öldürdüm:

~LWin Up:: return
~RWin Up:: return

6
Bu kabul edilen cevap olmalı.
diken

Benim Bkz cevabı da Alt + Shift tuşu combo ile çalıştığını çözüm aşağıda.
15'de anrieff

3

Bu soruyu buldum çünkü yeni bir klavyem var ve bazen ALTGmail'e e-posta yazarken yanlışlıkla tuşa bastı. Odak kaybolur ve aşağıdaki tuş vuruşları tarayıcma geçirilir (bu bazen çok can sıkıcı sonuçlar doğurabilir).

Bulduğum ama mükemmel olmayan bir iyileştirme bulduğum en iyi çözüm, anladığım kadarıyla kayıt defterini değiştiren KeyTweak adında bir keymapper programı ile .

Programında, harita Left Altiçin Right Alt, ve Right Altiçin Left Alt. Bu, Altişlevlerin hala biraz çalışmasına izin verir ( Ctrl- Alt- Delete). Ancak, Alt- Tabkısmen bozuk (en azından Windows-7'de). Kısmen diğer uygulamalara geçmenize izin verir, ancak Altanahtarı bıraktığınızda , bir sonraki uygulamanın "seçimi" yapılmaz (ancak bir fare tıklamasıyla yapabilirsiniz).

Windows'un hatalı Alt baskı makinelerinde odak kaybını önleyecek bir şeyi yok. ShiftVe Ctrltuşları, örneğin o bir etkisi yoktur.


SharpKeys, kayıt defteri yeniden kayalar kullanarak benzer bir yaklaşım kullanın! : D
mjsr

SharpKeys ile yeniden eşleştirildi (KeyTweak yüklenemedi, sadece quiely çıkışları. Belki XP ile çalışmıyor?) , Yeniden başlatıldı, ancak hile işe yaramadı.
Hi-Angel

2

Bu ilginç. Autokey dışında herhangi bir program bilmiyorum. Ya da sadece bir program yazabilirsiniz. Ancak kayıt defteri ayarı yok. Bu, TON programlarını kırabilir.


Autohotkey ile deniyorum ama AutoHotkey forumunda
yayınladığım

2

Bu otomatik kısayol tuşu Windows 10'da benim için çalışıyor:

Alt::Return ;Disables the key alt when it's pressed alone

(Zengabor'un yanıtı benim için işe yaramadı).

Rohwedder'a tüm ihtişam


Bu başlangıçta işe yarıyor gibi görünüyor, ancak sonra Ctrl-Z yapmak, örneğin Alt tuşuna basıp bıraktıktan sonra ilk kez çalışmıyor.
Alexandre G

1

bir yerde bulunan @MS

  1. Windows Tuşu + R tuşlarına basın, Regedit yazın ve Enter tuşuna basın.
  2. Şu yöne rotayı ayarla HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Preference
  3. Şimdi bir Dize Değeri (REG_SZ) oluşturun veya değiştirin Onve değerini 1 olarak ayarlayın
  4. Etkili olması için bilgisayarınızı kapatın.

2
Aynı cevabı birden fazla soruya göndermek yerine, cevabınızı OP'ye uygun olarak özel olarak uyarlamalısınız. Bir soru tamamen özdeş ise ve tam olarak aynı cevapla cevaplanabiliyorsa, sorulardan birini yinelenen cevaplar göndermek yerine iki kopya olarak kapatmak için işaretlemelisiniz.
Mokubai

1
nasıl moderatörler yinelenen işaretlemek gerektiğini aramak için zaman yok, üzgünüm, belki bunu yapabilir? çözümleri ile destek ppl bumming yerine.
Jens Marchewka

1

Aynı soruna bir çözüm arıyordum: Windows'un "Alt + ÜstKrktr" e (giriş dilini değiştir) nasıl tepki verdiğini düzeltmek, ancak üst üste binmeden yanlış yazıp Alt, ardından Shift tuşuna basarsınız. Bu durumda, Windows yalnız Alt'ı "seçim menüsü" olarak yorumlar, yalnız Shift hiçbir şey yapmaz ve daha sonra bastığınız karakterler açmak istemediğiniz rastgele menüleri seçer ve girer.

Skype gibi bir sohbet uygulaması kullanırken, yabancı dil konuşmacısısınız, Alt + ÜstKrktr ile geçiş yapmak oldukça sıktır ve aceleyle çok aptalca şeyler yapabilirsiniz.

@ user3419297, burada Alt + Shift'in tüm durumlarda olmasına izin vermek için değiştirdiğim çözümüne dikkat çekti. Sadece bir tane daha fazla, ama çok önemli bir tane! İlgili alıntı:

; Disable stand-alone Alt key press: make Alt purely a modifier key.
; The If statement is required to get Alt+Shift work as expected. If it's not
; there, only [Press Alt], [Press Shift], [Release Shift], [Release Alt] would
; trigger the input language change. The other, more common sequence would be
; [Press Alt], [Press Shift], [Release  Alt], [Release Shift], but AutoHotKey
; would block it before it reaches Windows if the "#If" isn't there.
#If not GetKeyState("LShift", "P")
~LAlt::
    KeyWait, LAlt
return

; Make Alt+Something still work:
~LAlt Up::
    Send, {LAlt Up}
return

Komut dosyamda iki Linux özelliği de var: Alt + F2 bir "hızlı başlatma komutu" açar ve sağ Alt tuşuna basmak o anda etkin olan pencereyi en aza indirir:

;==============================================================================
; AutoHotKey script for "Linuxifying" Windows 8.
; Based on suggestions on SuperUser (http://superuser.com/questions/1147370)
; 
; Written by: Veselin Georgiev
; Date      : 2016-11-18
;==============================================================================

; Optional: Make Alt+F2 bring up the "quick launch command" Window.
; In this case, it simulates the Windows logo key press. On Windows 8, the
; cursor would be in the search bar, which nicely emulates launching a
; command.
!F2::
    Sleep 200
    Send {LWin}
return

; Disable stand-alone Alt key press: make Alt purely a modifier key.
; The If statement is required to get Alt+Shift work as expected. If it's not
; there, only [Press Alt], [Press Shift], [Release Shift], [Release Alt] would
; trigger the input language change. The other, more common sequence would be
; [Press Alt], [Press Shift], [Release  Alt], [Release Shift], but AutoHotKey
; would block it before it reaches Windows if the "#If" isn't there.
#If not GetKeyState("LShift", "P")
~LAlt::
    KeyWait, LAlt
return

; Make Alt+Something still work:
~LAlt Up::
    Send, {LAlt Up}
return

; Optional: Make the right alt key minimize the currently visible window.
~RAlt Up::WinMinimize A

1

Bu benim sistemimde Autohotkey ile çalışır:

~LAlt::
KeyWait, LAlt
return

~LAlt Up::
Send, {LAlt Up}
return

LAlt'ın, tek başına basıldığında herhangi bir eylemi tetiklemeden (şu anda etkin olan pencerenin menü çubuğunu etkinleştirmek gibi) tamamen değiştirici bir anahtar gibi davranmasını sağlar.

DÜZENLE:

Ayrıca deneyin bu .


Benim Bkz cevabı da Alt + Shift tuşu combo ile çalıştığını çözüm aşağıda.
15'de anrieff

1

Burada yayınlanan AHK tabanlı çözümlerin hiçbiri benim için çalışmadı. Ancak, biraz uğraşarak, ALT'ı serbest bırakılmadan önce başka bir anahtarla eşlerseniz, menüleri vurgulamak için hareket etmeyeceğini anladım. Bir işlev tuşunu boşa harcamak yerine, asla başka bir amaçla kullanılmayan, atanmamış bir tarama kodu kullandım.

LAlt::
sendinput, {LAlt down}
sendinput, {SC0E8 down} ;this is the scan code of an unassigned key. As long as you nor the system never use it for anything else, it can be used in THIS way to cancel the menu acceleration.
;tooltip, Lalt is pressed
KeyWait, LAlt
; That line is important, so that ALT does not continuously fire as you are holding it down.
;tooltip, Lalt was released
return

LAlt up::
sendinput, {LAlt up}
sendinput, {SC0E8 up}
;;;Unlike my 2nd keyboard, this method does not use the scan code as a strict "wrapper."
;;tooltip, 
return


RAlt::
sendinput, {RAlt down}
sendinput, {SC0E8 down}
;;tooltip, Ralt is pressed
KeyWait, RAlt
;;tooltip, Ralt was released
return

RAlt up::
sendinput, {RAlt up}
sendinput, {SC0E8 up}
;;tooltip, 
return

Video açıklaması:
https://www.youtube.com/watch?v=vRld4bVFrpU&lc=UgzMjkQd4rbmvRDqU9h4AaABAg

Komut dosyasının tamamına bağlantı:
https://github.com/TaranVH/2nd-keyboard/blob/master/Taran's%20Windows%20Mods/Alt_menu_acceleration_DISABLER.ahk


0

Sadece bulduğum bir çözümü gönderiyorum. Herhangi bir Altmenüyü% 100 öldürür

Alt::
KeyWait, Alt
return

LAlt Up::
if (A_PriorKey = "Alt")
    return
return

Siz de tercih ederseniz, bu çözümü tek bir programla da kısıtlayabilirsiniz:

#IfWinActive ahk_exe sublime_text.exe
    Alt::
    KeyWait, Alt
    return

    LAlt Up::
    if (A_PriorKey = "Alt")
        return
    return
#IfWinActive
  1. https://www.autohotkey.com/boards/viewtopic.php?p=248473#p248473
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.