본문으로 건너뛰기

! 하드웨어 키보드로 텍스트 입력 (:send_text)

이 메서드는 20260805 이후 버전에서만 사용할 수 있습니다

선언

성공 여부, 오류 정보 = 하드웨어 키보드 객체:send_text(텍스트[, 키별 지연, Shift 키 지연])

매개변수

  • 텍스트 입력할 문자열입니다. 영문자, 숫자, 공백, 반각 문자와 "\b", "\r", "\t"만 지원합니다.
  • 키별 지연 각 키 동작 사이의 지연 시간을 밀리초 단위로 지정하는 실수형 선택 매개변수이며 기본값은 0입니다.
  • Shift 키 지연 Shift를 누르거나 놓기 전후의 지연 시간을 밀리초 단위로 지정하는 실수형 선택 매개변수이며 기본값은 0입니다.

반환값

  • 성공 여부 불리언입니다. 모든 텍스트 전송에 성공하면 true, 실패하면 false를 반환합니다.
  • 오류 정보 문자열이며 전송에 실패하면 오류 정보를 반환합니다.

설명

현재 Lua의 미국식 키보드 매핑에 따라 키와 Shift 조합을 생성합니다. 입력 과정에서 기다릴 때 암묵적으로 실행권을 양보하므로 메서드가 반환되기 전에 다른 스레드가 실행 기회를 얻을 수 있습니다.

  • 최종 입력 문자는 대상 시스템의 키보드 배열에도 영향을 받습니다.
  • 이 메서드는 호출 전에 이미 눌려 있던 일반 키와 보조 키(modifier)를 보호합니다.
  • 같은 하드웨어 키보드에서 :press 또는 :send_text 시퀀스를 실행 중이면 새 작업은 false, "hardware keyboard is busy"를 반환합니다.
  • 전송에 실패해도 다른 입력 방식으로 자동 재시도하지 않습니다.

예제

local keyboard = assert(key.connect_keyboard())

assert(keyboard:send_text("Hello"))
assert(keyboard:send_text("Hello", 30, 10))

assert(keyboard:disconnect())