การสร้าง AppleScript สำหรับการกดแป้น


0

ฉันพยายามทำ AppleScript ของตัวเองเพื่อทำให้ Mac กด C 13 ครั้งกดปุ่มลูกศรซ้ายกด C 13 ครั้งกดแป้นลูกศรขวาและเริ่มจากจุดเริ่มต้นซ้ำ ๆ ทุก ๆ 1.7 วินาที

ขณะนี้ฉันมีการจัดการเท่านั้นที่จะทำสคริปต์การทำงานที่ทำให้กด C หลายครั้ง มีคนช่วยฉันด้วยเรื่องนี้ได้ไหม นี่คือสิ่งที่ฉันมีในขณะนี้

set i to 0
repeat while i < 1.0E+300
    set i to i + 1
    delay 1.7
    tell application "System Events" to keystroke "c"
end repeat

คำตอบ:


1

เพื่อเริ่มออกหมายเลขที่1.0E+300เป็นจริงๆจริงๆจำนวนมาก นั่นเป็นมากกว่าจำนวนอะตอมในจักรวาลทั้งหมดด้วยคำสั่งหลายอย่าง

สคริปต์ของคุณอยู่ไม่ไกล หากต้องการกด"c"สิบสามครั้งคุณสามารถทำได้:

repeat 13 times
    tell application "System Events" to keystroke "c"
    -- delay 0.1
end repeat

(คุณอาจต้องใช้เวลาเล็กน้อยในการลงทะเบียนการกดแป้นแต่ละครั้ง แต่คุณสามารถลองได้โดยไม่ต้องดูว่าใช้ได้ไหม)

หรือคุณสามารถทำสิ่งนี้:

tell application "System Events" to keystroke "ccccccccccccc"

ซึ่งเทียบเท่ากับวนซ้ำโดยไม่ล่าช้า

ปุ่มลูกศรซ้ายและขวาคือkey code 123และkey code 124ตามลำดับ ดังนั้นการเพิ่มในการกดแป้นพิมพ์:

tell application "System Events"
    keystroke "ccccccccccccc"
    delay 0.1
    key code 123 -- left arrow
    delay 0.1
    keystroke "ccccccccccccc"
    delay 0.1
    key code 124 -- right arrow
end tell

หรือ:

tell application "System Events"
    repeat 13 times
        keystroke "c"
        delay 0.1
    end repeat

    key code 123 -- left arrow
    delay 0.1

    repeat 13 times
        keystroke "c"
        delay 0.1
    end repeat

    key code 124 -- right arrow
end tell

ในที่สุดการทำโฆษณานี้เป็นระยะเวลา 1.7 วินาทีจะสร้างสิ่งที่คล้ายกับสิ่งนี้:

tell application "System Events" to repeat
    repeat 13 times
        keystroke "c"
        delay 0.1
    end repeat

    key code 123 -- left arrow
    delay 0.1

    repeat 13 times
        keystroke "c"
        delay 0.1
    end repeat

    key code 124 -- right arrow

    delay 1.7
end repeat

โปรดทราบว่าห่วงนอกส่วนใหญ่ยังไม่มีการทำซ้ำwhile, untilหรือtimesการ จำกัด การต่อเนื่อง มันจะวนซ้ำตลอดไปจนกว่าคุณจะหยุดสคริปต์ด้วยตนเอง

ฉันไม่ได้คำนึงถึงความล่าช้า 0.1 วินาทีในการหน่วงเวลา 1.7 วินาทีโดยรวม ความล่าช้าที่น้อยลงจะเกิน 1.7 วินาทีโดยรวม แต่ฉันจะให้คุณปรับการกำหนดเวลาตามความต้องการของคุณ


ขอบคุณมาก! สคริปต์ทำงานได้ แต่ฉันพบว่าไม่สามารถบรรลุสิ่งที่ฉันต้องการ ฉันจะแก้ไขสคริปต์ได้อย่างไรเพื่อให้สามารถกดปุ่มลูกศรทั้งสองค้างไว้เป็นเวลา 1.5 วินาทีในแต่ละครั้ง
kiara

ฉันไม่เชื่อว่าเป็นไปได้ @kiara
CJK
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.