จะใช้ Terminal ในการส่งการกดแป้นได้อย่างไร


12

Terminal มีวิธีการจำลองการกดหลาย ๆ ปุ่มพร้อมกันหรือไม่? ตัวอย่างเช่น Shift + Ctrl + R?

ฉันกำลังsshเข้าสู่ OS X จากไคลเอนต์ Windows (PuTTY) และสงสัยว่าฉันต้องกำหนดค่าไคลเอนต์หรือมีวิธีดั้งเดิมสำหรับ OS X เพื่อจำลองคำสั่งเหล่านี้เมื่อสิ้นสุดการรับ


มันเกี่ยวกับการใช้เทอร์มินัลเพื่อส่งแป้นพิมพ์ลัด โดยเฉพาะฉันต้องส่ง ctrl + opt + shift + e ฉันต้องทำโดยไม่มี AppleScript เนื่องจากมาจากคอมพิวเตอร์ Windows โดยใช้สิ่งที่ฉันถือว่าเป็น Terminal Simulator บางชนิดหรือ SSH จาก cmd
user84019

AppleScript ทำงานเหนือ SSH โดยใช้ osascript คำตอบด้านล่างนี้ทำงานได้อย่างสมบูรณ์บน SSH โดยมี GUI อยู่บนเครื่อง OS X
grg

คำตอบ:


8

คุณสามารถใช้ AppleScript บนเทอร์มินัล:

osascript -e 'tell application "System Events" to keystroke "r" using {control down, shift down}'

เมื่อฉันลองฉันจะได้รับบรรทัดใหม่ด้วย ">"?
user84019

เป็นโปรแกรมเฉพาะหรือไม่? ตัวอย่างเช่นหากฉันต้องการพิมพ์ "E" ลงใน TextEdit ฉันจะพิมพ์ "osascript -e 'บอกแอปพลิเคชัน" เหตุการณ์ของระบบ "เพื่อการกดแป้นพิมพ์" e "โดยใช้ {shift down}'" หรือไม่
user84019

2
โอเคฉันพยายามพิมพ์ ctrl + opt + shift + e และฉันมี "osascript -e 'บอกแอปพลิเคชัน" เหตุการณ์ของระบบ "เพื่อการกดแป้น" e "โดยใช้ {ควบคุมลงเลื่อนลงตัวเลือกลง}'" แต่มัน บอกฉัน "48:55: ข้อผิดพลาดทางไวยากรณ์: ตัวระบุไม่สามารถดำเนินการต่อไปหลังจากนี้" "" (-2740) "
user84019

การกดแป้นพิมพ์จะถูกป้อนตรงตามที่ควรจะเป็นหากพวกเขาพิมพ์ด้วยตนเอง; พวกเขาไม่ได้เฉพาะเจาะจงสำหรับแต่ละแอปพลิเคชัน หากคุณต้องการป้อนการกดแป้นภายในแอปพลิเคชันให้ใช้ `osascript -e 'บอกแอปพลิเคชัน" AppName "เพื่อเปิดใช้งาน' วิธีนี้จะเปิดแอปพลิเคชันหากยังไม่ได้เปิดและนำมาไว้ด้านหน้า (เช่นชื่อแสดงในแถบเมนู) จากนั้นคุณสามารถใช้รหัส @grg ที่ให้ไว้ในคำตอบของเขาด้านบน
Peter Schorn

3

เครื่องมือเชลล์ cliclick นั้นยอดเยี่ยมมาก ส่งการกดแป้นพิมพ์การคลิกทุกสิ่ง

https://github.com/BlueM/cliclick


boulder_ruby - ทางออกที่ยอดเยี่ยมอ้างอิงที่ดี คุณเป็นcliclickผู้แต่งหรือไม่
Johnny Utahh

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