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.