Nonaktifkan aktivasi bilah menu ketika Alt ditekan di Windows 7

17

Di Windows 7 bagaimana saya bisa menonaktifkan fungsi yang mengaktifkan bilah menu saat Altditekan?

Apakah ada beberapa nilai registri untuk mengubah perilaku ini?

mjsr
sumber

Jawaban:

2

Jawabannya adalah tidak. Bagaimana mereka bisa melakukan itu? Jika mereka melakukan itu, dan seseorang menonaktifkannya, mereka akan memotong orang dari item menu yang sangat diperlukan. Itu akan menjadi mimpi buruk.

Satu-satunya hal yang dapat Anda lakukan adalah hidup dengan itu, atau aktifkan menu secara permanen dengan mengklik Organize> Layout> Menu bar.

KCotreau
sumber
9
Harus menjadi komentar.
Moab
@ Moab saya pikir itu adalah jawaban, tapi saya akan lebih jelas.
KCotreau
@KCotreau: Seperti yang Anda katakan, ada cara untuk mendapatkan menu bar, jadi bagi saya tidak perlu bahwa tombol ALT menghasilkan itu.
mjsr
@voodoomsr Tetapi jika Anda tidak memiliki ALT, dan sebelumnya Anda tidak mengeksposnya secara permanen, Anda akan dikunci, bukan?
KCotreau
Sangat mudah bagi suatu program untuk menonaktifkan Alt secara global, tetapi pengujiannya rumit. Tidak ada jaminan bahwa program lain tidak akan mencegat panggilan sebelum Anda. . .
surfasb
12

Saya sudah menggunakan AutoHotkey , jadi saya menambahkan baris ini ke skrip saya dan itu memperbaiki perilaku menjengkelkan ini di hampir semua aplikasi:

~LAlt Up:: return

Itu tidak berfungsi di IE tapi saya tidak menggunakan IE. :)

BTW, saya juga membunuh popup menu awal yang mengganggu melalui:

~LWin Up:: return
~RWin Up:: return
zengabor
sumber
6
Yang ini harus menjadi jawaban yang diterima.
duri
Lihat jawaban saya di bawah untuk solusi yang juga berfungsi dengan kombo tombol Alt + Shift.
anrieff
3

Saya menemukan pertanyaan ini karena saya memiliki keyboard baru dan kadang-kadang secara tidak sengaja menekan ALTtombol ketika mengetik email di Gmail. Fokus hilang dan semua penekanan tombol berikut dilewatkan ke browser saya (yang kadang-kadang dapat hasil yang sangat mengganggu).

Solusi terbaik yang saya temukan, yang merupakan peningkatan tetapi tidak sempurna, adalah dengan program keymapper yang disebut KeyTweak , yang sejauh yang saya mengerti, mengubah registri .

Dalam program, Anda memetakan Left Altke Right Alt, dan Right Altke Left Alt. Ini memungkinkan Altfungsi - fungsi tetap bekerja ( Ctrl- Alt- Delete). Namun, Alt- Tabsebagian rusak (setidaknya pada Windows-7 saya). Ini memungkinkan Anda sebagian untuk pindah ke aplikasi lain, tetapi ketika Anda melepaskan Altkunci, "pilihan" dari aplikasi berikutnya tidak dibuat (Anda dapat membuatnya dengan klik mouse, namun).

Sayang sekali Windows tidak memiliki sesuatu untuk mencegah hilangnya fokus dari penekanan Alt yang salah. The Shiftdan Ctrlkunci tidak memiliki efek yang, misalnya.

Fuhrmanator
sumber
Saya menggunakan pendekatan yang sama menggunakan SharpKeys, registry remapping rocks! : D
mjsr
Dipetakan kembali melalui SharpKeys (KeyTweak tidak dapat menginstal, hanya keluar dengan tenang. Mungkin tidak bekerja dengan XP?) , Reboot, tetapi triknya tidak berhasil.
Hi-Angel
2

Yang ini menarik. Saya tidak tahu program apa pun selain Autokey. Atau hanya berakhir menulis program. Tetapi tidak ada pengaturan registri. Itu akan merusak BANYAK program.

surfasb
sumber
Saya mencoba dengan autohotkey tetapi saya memiliki masalah yang saya jelaskan dalam dua pertanyaan yang saya posting di forum AutoHotkey, di sini adalah yang paling terkait: autohotkey.com/forum/viewtopic.php?t=74033
mjsr
2

Autohotkey ini berfungsi untuk saya di Windows 10:

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

(Jawaban Zengabor tidak berhasil untuk saya).

Semua kemuliaan bagi Rohwedder

JinSnow
sumber
Ini tampaknya bekerja pada awalnya, tetapi kemudian melakukan Ctrl-Z misalnya setelah menekan dan melepaskan Alt tidak berfungsi pertama kali.
Alexandre G
1

seperti yang ditemukan di suatu tempat @ MS

  1. Tekan Windows Key + R, ketik Regedit dan tekan Enter.
  2. Navigasi ke HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Preference
  3. Sekarang buat atau modifikasi Value String (REG_SZ) yang dipanggil Ondan tetapkan nilainya menjadi 1
  4. Logoff komputer Anda untuk mulai berlaku.
Jens Marchewka
sumber
2
Daripada memposting jawaban yang sama persis untuk beberapa pertanyaan, Anda harus secara khusus menyesuaikan jawaban Anda agar sesuai dengan OP. Jika sebuah pertanyaan benar-benar identik dan dapat dijawab dengan jawaban yang persis sama maka Anda harus menandai untuk menutup salah satu pertanyaan sebagai duplikat daripada memposting jawaban duplikat.
Mokubai
1
saya tidak punya waktu untuk mencari bagaimana moderator harus menandai duplikat, maaf, mungkin Anda bisa melakukannya? bukannya bumming ppl yang mendukung dengan solusi.
Jens Marchewka
1

Saya sedang mencari solusi untuk masalah yang sama: memperbaiki bagaimana Windows bereaksi terhadap "Alt + Shift" (mengubah bahasa input), tetapi Anda salah ketik dan tekan Alt, diikuti oleh Shift, tanpa tumpang tindih. Dalam hal itu Windows akan menafsirkan Alt tunggal sebagai "pilih menu", satu-satunya Shift tidak melakukan apa-apa, dan setiap karakter yang Anda tekan kemudian pilih dan masuk ke menu acak yang tidak ingin Anda buka.

Saat menggunakan aplikasi obrolan seperti Skype dan Anda adalah penutur bahasa asing, beralih dengan Alt + Shift cukup sering, dan Anda dapat melakukan banyak hal bodoh dengan tergesa-gesa.

@ user3419297 menunjuk saya ke solusinya di sini, yang saya modifikasi untuk memungkinkan Alt + Shift terjadi dalam semua kasus. Hanya satu # Jika lebih, tetapi yang sangat penting! Kutipan yang relevan:

; 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

Skrip lengkap saya juga mengaktifkan dua fitur Linux: Alt + F2 membuka "perintah peluncuran cepat", dan menekan Alt kanan meminimalkan jendela yang sedang aktif:

;==============================================================================
; 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
Anrieff
sumber
1

Ini berfungsi di sistem saya dengan Autohotkey:

~LAlt::
KeyWait, LAlt
return

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

Itu membuat LAlt untuk berperilaku murni sebagai kunci pengubah, tanpa memicu tindakan apa pun jika ditekan dengan sendirinya (seperti mengaktifkan bilah menu dari jendela yang sedang aktif).

EDIT:

Coba juga ini .

pengguna3419297
sumber
Lihat jawaban saya di bawah untuk solusi yang juga berfungsi dengan kombo tombol Alt + Shift.
anrieff
1

Tidak ada solusi berbasis AHK yang diposting di sini yang berfungsi untuk saya. Namun, dengan sedikit mengutak-atik, saya menemukan bahwa jika Anda memasangkan ALT dengan kunci lain sebelum dirilis, itu tidak akan bertindak untuk menyorot menu. Alih-alih menyia-nyiakan kunci fungsi, saya menggunakan kode pindaian yang tidak ditetapkan yang tidak pernah digunakan untuk tujuan lain.

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

Penjelasan video:
https://www.youtube.com/watch?v=vRld4bVFrpU&lc=UgzMjkQd4rbmvRDqU9h4AaABAg

Tautan ke skrip lengkap:
https://github.com/TaranVH/2nd-keyboard/blob/master/Taran's%20Windows%20Mods/Alt_menu_acceleration_DISABLER.ahk

Terran VanHemert
sumber
0

Hanya memposting solusi yang saya temukan di sekitar. Itu membunuh semua Altmenu 100%

Alt::
KeyWait, Alt
return

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

Jika Anda mau, Anda juga dapat membatasi solusi ini untuk satu program:

#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
pengguna
sumber