! 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
success, err = keyboard:press(key[, press_delay_ms])
success, err = keyboard:press(usage_page, usage_id[, press_delay_ms])
Tham số
- key
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ự.
- press_delay_ms 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ề
- success
Boolean. Trả về
truekhi phím được nhấn và thả thành công vàfalsekhi thất bại. - err 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
:presshoặ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())