Tuş vuruşlarını göndermek için Terminal nasıl kullanılır?


12

Terminal'in aynı anda birden fazla tuşa basmayı simüle etmesinin bir yolu var mı? Örneğin, Shift + Ctrl + R?

Ben am sshWindows istemci (PuTTY) dan OS X içine ing ve müşteri yapılandırmanız gerekir veya OS X alıcı ucunda bu komutları taklit için yerel bir yol olup olmadığını merak ediyorum.


Klavye kısayollarını göndermek için terminal kullanmakla ilgilidir. Özellikle, ctrl + opt + shift + e göndermem gerekiyor. AppleScript olmadan yapmam gerekiyor, çünkü bir Windows bilgisayardan olduğu gibi, bir çeşit Terminal simülatörü veya cmd'den SSH olduğunu varsayıyorum.
user84019

AppleScript, osascript kullanarak SSH üzerinde çalışır. Aşağıdaki yanıt, OS X makinesinde bir GUI olması koşuluyla SSH üzerinden tamamen işlevseldir.
grg

Yanıtlar:


8

AppleScript'i Terminal'de kullanabilirsiniz:

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

Bunu denediğimde, ">" ile yeni bir satır mı alıyorum?
user84019

Programa özgü mü? Örneğin, TextEdit içine "E" yazmak istersem, "osascript -e '' {shift down} '" kullanarak "e" tuş vuruşuna "Sistem Olayları" söyle uygulamasını söyleyebilir miyim?
user84019

2
Tamam, ctrl + opt + shift + e yazmaya çalışıyorum ve "osascript -e 'uygulaması" Sistem Olayları "na" e "tuşunu kullanarak" kontrol "," aşağı kaydırma, aşağı kaydırma, seçenek aşağı "'" "48:55: sözdizimi hatası:" "" ifadesinden sonra bir tanımlayıcı gidemez. (-2740) "
user84019

Tuş vuruşları, tam olarak elle yazıldıkları gibi girilir; her bir uygulamaya özgü değildir. Bir uygulama içinde bir tuş vuruşu girmek istiyorsanız, osascript -e komutunu kullanın ve etkinleştirmek için uygulamaya "AppName" deyin. Bu, zaten açık değilse uygulamayı başlatır ve ayrıca ön plana getirir (yani menü çubuğunda adı görünür). Daha sonra yukarıdaki cevabında verilen @grg kodunu kullanabilirsiniz.
Peter Schorn

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.