{"id":521,"date":"2018-05-07T09:00:11","date_gmt":"2018-05-07T08:00:11","guid":{"rendered":"http:\/\/www.programaraciegas.net\/?p=521"},"modified":"2018-05-05T06:57:19","modified_gmt":"2018-05-05T05:57:19","slug":"simular-atajos-de-teclado-y-pulsaciones-de-teclas-en-macos-con-applescript","status":"publish","type":"post","link":"https:\/\/programaraciegas.net\/?p=521","title":{"rendered":"Simular atajos de teclado y pulsaciones de teclas en MacOS con AppleScript"},"content":{"rendered":"<p>En el sistema operativo <strong>MacOS<\/strong> se suele tener un buen acceso a la funcionalidad de las aplicaciones a trav&eacute;s del teclado ya que, por norma, las aplicaciones permiten el uso de atajos de teclado.<\/p>\n<p>La gesti&oacute;n de los atajos de teclado se realiza desde el sistema operativo por lo que es posible utilizar estos atajos de teclado para poder crear scripts de <strong>AppleScript<\/strong> espec&iacute;ficos para una aplicaci&oacute;n y crear nuestras propias personalizaciones de uso de una aplicaci&oacute;n utilizando nuestros propios scripts de <strong>AppleScript<\/strong><\/p>\n<p>Esto tambi&eacute;n permite que una aplicaci&oacute;n no compatible con AppleScript pueda ser manipulada por un script utilizando los propios elementos y controles de interfaz de la aplicaci&oacute;n no compatible.<\/p>\n<h2>La aplicaci&oacute;n <strong>System Events<\/strong><\/h2>\n<p>La aplicaci&oacute;n <strong>System Events<\/strong> es un servicio del sistema operativo que permite realizar ciertas operaciones a otras aplicaciones y programas en ejecuci&oacute;n. <strong>System Events<\/strong> no tiene interfaz de usuario por lo que hay que utilizarlo a trav&eacute;s de otra aplicaci&oacute;n o un script de <strong>AppleScript<\/strong><\/p>\n<p>Con System events podemos controlar el teclado, el rat&oacute;n, el volumen de nuestro Macbook y muchas cosas m&aacute;s. Veremos en m&aacute;s detalles a System Events en otros art&iacute;culos.<\/p>\n<p>Dentro del diccionario de System Events para AppleScript se encuentra el comando <strong>keystroke<\/strong> el cual nos permite simular una pulsaci&oacute;n de teclas desde nuestro script.<\/p>\n<p>El comando keystroke para ser utilizado sobre una aplicaci&oacute;n requiere que dicha aplicaci&oacute;n est&eacute; siendo ejecutada en ese momento. Pero si el comando es un atajo de teclado general de MacOS entonces el comando keystroke puede ser utilizado sin ning&uacute;n requisito previo.<\/p>\n<p>Para el comando keystroke debemos indicar qu&eacute; teclas queremos pulsar pero hay que identificar entre teclas alfanum&eacute;ricas y teclas modificadoras. Las teclas modificadoras son la tecla de may&uacute;sculas, comando, control, alt, etc.<\/p>\n<p>La forma de usar el comando keystroke es la siguiente:<\/p>\n<p><code><br \/>\ntell application \"System Events\" to keystroke \"letra a pulsar\" using teclas modificadoras<br \/>\n<\/code><\/p>\n<p>Tambi&eacute;n podemos utilizar el c&oacute;digo num&eacute;rico de la tecla en lugar de su representaci&oacute;n literal. Su sintaxis es la siguiente:<\/p>\n<p><code><br \/>\ntell application \"System Events\" to key code n\u00famero de la tecla using teclas modificadoras<br \/>\n<\/code><\/p>\n<h2>Unos ejemplos simples<\/h2>\n<p>En un editor de textos vamos a escribir la frase <em>Hola mundo<\/em> simulando las pulsaciones de teclado. El c&oacute;digo es:<\/p>\n<p><code><br \/>\ntell application \"System Events\" to keystroke \"Hola mundo!\"<br \/>\n<\/code><\/p>\n<p>Vamos a enviar el atajo de teclado <em>Comando+n<\/strong> para abrir una nueva ventana en la aplicaci&oacute;n que est&eacute; activa en ese momento. El c&oacute;digo es el siguiente:<\/p>\n<p><code><br \/>\ntell application \"System Events\" to keystroke \"n\" using command down<br \/>\n<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En el sistema operativo MacOS se suele tener un buen acceso a la funcionalidad de las aplicaciones a trav&eacute;s del teclado ya que, por norma, las aplicaciones permiten el uso de atajos de teclado. La gesti&oacute;n de los atajos de teclado se realiza desde el sistema operativo por lo que es posible utilizar estos atajos &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/programaraciegas.net\/?p=521\" class=\"more-link\">Continuar leyendo<span class=\"screen-reader-text\"> \u00abSimular atajos de teclado y pulsaciones de teclas en MacOS con AppleScript\u00bb<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[80],"tags":[],"class_list":["post-521","post","type-post","status-publish","format-standard","hentry","category-applescript"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/posts\/521","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=521"}],"version-history":[{"count":0,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/posts\/521\/revisions"}],"wp:attachment":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=521"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=521"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=521"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}