Autohotkey mengeksekusi semua yang melewati akhir loop saya

2

Saya menggunakan autohotkey untuk membuat (hjkl) tombol panah saya, dan gulir lebih cepat tanpa melakukan pagedown / up, yang membuat membaca buku teks dengan ilustrasi besar lebih mudah.

Masalahnya adalah ahk menjalankan semuanya setelah loop "spasi" selesai. Ex. dalam kode di bawah ini, itu akan turun 16 spasi, dan satu ruang naik. Seharusnya tidak naik satu ruang kecuali saya menekan "z".

Suspend On

h::Left
j::Down
k::Up
l::Right

space::
    Loop,8{
        Send {Down}
        Send {Down}
    }

z::
    Send {Up}

+Capslock::
CapsLock::Suspend Off
CapsLock Up::Suspend On

Saya telah menonton beberapa tutorial tentang loop sekarang dan saya tidak melihat bagaimana saya bisa melakukan kesalahan. Sisa kode berfungsi.

Tukang jagung
sumber

Jawaban:

4

Anda harus returndi akhir setiap metode multi-line atau hotkey. Jika tidak, secara logika, Anda belum menentukan kapan metode tertentu berakhir. Perhatikan bahwa metode garis tunggal memiliki returnpernyataan tersirat .

Saya telah membersihkan dan memperbaiki skrip Anda (saya memiliki gaya ketat pada koma, kapitalisasi, lekukan / spasi putih, dan menempatkan tanda kurung pada baris mereka sendiri):

Suspend, On

h::Left
j::Down
k::Up
l::Right

Space::
    Loop, 8
    {
        Send, {Down}
        Send, {Down}
    }
    return

z::
    Send, {Up}
    return

+CapsLock::
CapsLock::Suspend, Off
CapsLock Up::Suspend, On
iglvzx
sumber
Hm dan Anda benar tentang indentasi. Saya baru saja memperbaikinya.
CornSmith
1
@CornSmith Saya tidak berpikir bahwa lekukan akan membuat perbedaan. Tidak memiliki ruang di sini atau di sana mungkin, tetapi lekukan hanya untuk dibaca.
iglvzx
1
Ngomong-ngomong, Selamat Datang di Pengguna Super! Anda dapat menerima jawaban saya jika memuaskan. Ini akan membantu komunitas tahu untuk beralih ke pertanyaan lain :)
iglvzx