키 입력으로 AppleScript 대화 상자 목록에서 선택하는 방법은 무엇입니까?


2

Automator에서 AppleScript로 응용 프로그램을 만들었습니다.

바로 사용 가능한 응용 프로그램은 대화 상자 목록을 사용자에게 제공합니다.

기본적으로 목록에서 항목을 선택하는 두 가지 방법이 있습니다.

  1. 마우스 사용

  2. 키보드의 화살표 키를 사용합니다.

그러나 내가하고 싶은 것은 사용자에게 키 입력 또는 키보드 단축키를 기반으로 항목을 선택하는 세 번째 옵션을 제공하는 것입니다. 키 입력 또는 키보드 단축키를 누른 후 선택한 항목을 직접 제출하고 싶습니다.

예를 들면 다음과 같습니다.

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

앞의 코드는 다음을 생성합니다.

내가 원하는 것은 사용자가 키보드에서 숫자 "2"를 눌러 "Kiwi (# 2)"를 선택한 다음 "OK"단추를 자동으로 누르는 것입니다. 사용자가 키보드에서 숫자 "4"를 누르면 "Coconut (# 4)"가 선택되고 "OK"버튼이 자동으로 눌러집니다. 등등.

이것이 가능한가?

내가 아는 것은 사용자가 숫자를 수동으로 입력 한 다음 사용자가 수동으로 입력하고 숫자가 해당 과일 유형에 할당되는 텍스트 필드가있는 대화 상자를 만드는 것입니다.

그러나 이것은 특히 좋은 해결책은 아닙니다.

답변:


2

애플 스크립트는 당신이에 의해 선택할 수 있도록하려는 그러나 경우, 요구하는지 정확히 할 수있을만큼 강력하지 않습니다 다음 넣을 수를 앞서의 열매의 이름 하지만, enter여전히 후에 누를 필요가 번호를 누르면된다. 그렇지 않으면 목록 항목 항목 의 첫 문자를 누르면 해당 항목도 선택됩니다.

예를 들어 다음 두 줄의 코드를 다음과 같이 변경하십시오.

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)"

에:

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"

참고로, 목록 항목을 두 번 클릭하여 마우스로 선택하면 enter키 누름이 자동으로 트리거 됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.