¿Cómo hacer una selección de la lista de diálogo de AppleScript con pulsación de tecla?

2

He creado una aplicación con AppleScript en Automator.

La aplicación, desde el principio, presenta al usuario una lista de diálogo.

De forma predeterminada, hay dos formas de seleccionar un elemento de la lista:

  1. Usando tu mouse.

  2. Usando las teclas de flecha en su teclado.

Sin embargo, lo que me gustaría hacer es ofrecerle al usuario una tercera opción: seleccionar el elemento en función de una pulsación de tecla o un método abreviado de teclado. También me gustaría que el elemento seleccionado se envíe directamente después de presionar la combinación de teclas o el método abreviado de teclado.

Por ejemplo:

on run {input, parameters}

    set FruitList to {"Banana (#1)", "Kiwi (#2)", "Mango (#3)", "Coconut (#4)", "Pear (#5)"}

    set FavoriteFruitAnswer to choose from list FruitList with title "Fruit Dialog" with prompt "What's your favorite fruit?" default items "Banana (#1)"


    if FavoriteFruitAnswer is false then
        error number -128 (* user cancelled *)
    else
        set FavoriteFruitAnswer to FavoriteFruitAnswer's item 1 (* extract choice from list *)
    end if

    return input
end run

El código anterior produce lo siguiente:

Lo que quiero que ocurra es si el usuario presiona el número "2" en su teclado, por lo tanto, se selecciona "Kiwi (# 2)" y luego se presiona automáticamente el botón "Aceptar". Si el usuario presiona el número "4" en su teclado, por lo tanto, se selecciona "Coconut (# 4)" y luego se presiona automáticamente el botón "OK". Y así sucesivamente.

¿Es esto posible?

Lo que sé es posible es crear un cuadro de diálogo con un campo de texto donde el usuario escribe el número manualmente y luego el usuario ingresa manualmente y el número se asigna al tipo de fruta correspondiente.

Pero esa no es una solución particularmente bonita.

    
pregunta rubik's sphere 19.11.2016 - 05:25

1 respuesta

2

AppleScript no es lo suficientemente robusto para hacer exactamente lo que estás pidiendo, sin embargo, si quieres poder seleccionar por número , coloca el número delante de < em> nombre de la fruta , aunque enter aún deberá presionarse después de presionar el número . De lo contrario, al seleccionar el primer carácter de la entrada elemento de lista también se seleccionará.

Por ejemplo, cambie las siguientes dos líneas de código de:

set FruitList to {"Banana (#1)", "Kiwi (#2)", "Mango (#3)", "Coconut (#4)", "Pear (#5)"}
set FavoriteFruitAnswer to choose from list FruitList with title "Fruit Dialog" with prompt "What's your favorite fruit?" default items "Banana (#1)"

Para:

set FruitList to {"1. Banana", "2. Kiwi", "3. Mango", "4. Coconut", "5. Pear"}
set FavoriteFruitAnswer to choose from list FruitList with title "Fruit Dialog" with prompt "What's your favorite fruit?" default items "1. Banana"

Como nota al margen, al hacer doble clic en una entrada de la lista para seleccionarla con el mouse también se activa la tecla enter presionando automáticamente.

    
respondido por el user3439894 19.11.2016 - 05:49

Lea otras preguntas en las etiquetas