Chuyển tới nội dung chính

! Nhấn một phím trên bàn phím phần cứng (:press)

Phương thức này có sẵn trong các phiên bản sau 20260805

Khai báo​

thành công hay không, thông báo lỗi = đối tượng bàn phím phần cứng:press(mã phím[, thời gian nhấn])
thành công hay không, thông báo lỗi = đối tượng bàn phím phần cứng:press(Usage_Page, Usage_ID[, thời gian nhấn])

Tham số​

  • mã phím
    Chuỗi. Sử dụng cùng bảng ánh xạ tên phím như key.press.
  • Usage Page
    Số nguyên. Các đối tượng bàn phím phần cứng hiện tại chỉ chấp nhận Trang Sử dụng của Bàn Phím/Phím Bấm 0x07.
  • Usage ID
    Số nguyên. Biểu tượng phím vật lý, không phải mã hóa ký tự.
  • thời gian nhấn
    Số. Tùy chọn. Thời gian giữ phím, tính bằng mili giây. Mặc định: 10 mili giây.

Giá trị trả về​

  • thành công hay không
    Boolean. Trả về true khi phím được nhấn và thả thành công và false khi thất bại.
  • thông báo lỗi
    Chuỗi. Thông báo lỗi được trả về khi thao tác thất bại.

Mô tả​

Nhấn phím mục tiêu, chờ khoảng thời gian được chỉ định, sau đó thả nó. Trong thời gian chờ, luồng hiện tại sẽ ngầm nhường quyền thực thi; các luồng khác có thể chạy trước khi phương thức trả về.

  • Phương thức này giữ nguyên các phím thường và phím bổ trợ đã được giữ trước khi gọi.
  • Nếu bàn phím phần cứng đã đang chạy một chuỗi :press hoặc :send_text, thao tác mới sẽ trả về false, "hardware keyboard is busy".
  • Đầu vào thất bại không được thử lại thông qua phương thức đầu vào khác.

Ví dụ​

local keyboard = assert(key.connect_keyboard())

assert(keyboard:press("a"))
assert(keyboard:press(0x07, 4, 30)) -- Phím A trên bàn phím, giữ trong 30 mili giây

assert(keyboard:disconnect())