Tiền lệ cho các ràng buộc khóa thiết bị đầu cuối cho khóa Windows hoặc Mac Cmd


0

Thiết bị đầu cuối Unix gửi mã ASCII dưới 32 cho Ctrl + một khóa khác và có ít nhất hai cách gửi "meta" (viz. hoặc là tiền tố mã 27 hoặc đặt bit cao của ký tự ASCII). Có tiền lệ cho cách mã hóa việc sử dụng các phím bổ trợ khác, như "siêu" hoặc phím logo Windows hoặc Mac Cmd Chìa khóa?

Tôi muốn lập bản đồ Cmd + các phím mũi tên trong iTerm2, nhưng tôi không biết nên gán mã nào cho chúng. Tôi đã sử dụng Tùy chọn phím "meta" với các phím mũi tên.

Câu trả lời:


0

Quy ước thiết lập bit thứ 8 khi nhấn meta là khá cổ xưa và không còn được sử dụng nhiều nữa, hoặc thực sự là trong bất kỳ thiết bị đầu cuối hiện đại nào hỗ trợ nhiều ký tự hơn chỉ ASCII. Quy ước về tiền tố ESC ngày nay cũng không phổ biến, vì vấn đề đó.

32 ký tự điều khiển ASCII thực sự được gửi dưới dạng các ký tự điều khiển ASCII (điểm mã nhỏ hơn 32) nhưng chỉ bao gồm Ctrl- @, Ctrl-A thông qua Ctrl-Z, ESC, Ctrl- \, Ctrl-], Ctrl- ^ và Ctrl-_. Bất cứ điều gì khác, chẳng hạn như ví dụ Ctrl-4, không tồn tại trong ASCII và không có quy ước nào để gửi nó qua thiết bị đầu cuối.

Về cơ bản, điểm mấu chốt là đây: mọi thứ không thể được gửi dưới dạng ký tự đơn giản (nghĩa là tồn tại trong Unicode cho các thiết bị đầu cuối hỗ trợ Unicode hiện đại) phải được gửi dưới dạng một chuỗi thoát. Trình tự thoát được xác định bởi giao thức mô phỏng đầu cuối có hiệu lực. Hầu như tất cả các giao thức mô phỏng thiết bị đầu cuối được sử dụng ngày nay đều có nguồn gốc từ hoặc tương tự VT100, và các chuỗi thoát có sẵn cho các khóa phổ biến được tìm thấy trên bàn phím không tồn tại dưới dạng ký tự: phím mũi tên, phím chức năng, v.v ...

VT100 và các giao thức mô phỏng thiết bị đầu cuối có liên quan không chứa các quy ước để truyền tải các phím bấm sửa đổi, thậm chí không có các giao thức chuẩn như Shift và Control. Phần mềm chạy trên tty không thể cho biết sự khác biệt giữa nhấn phím Enter và nhấn phím Shift-Enter. Nó thậm chí không thể nói sự khác biệt giữa phím nhấn Enter và phím nhấn Control-M.

Việc các chuỗi sửa đổi này không thể được truyền qua thiết bị đầu cuối có thể được coi là một điều tốt. Ví dụ: ứng dụng thiết bị đầu cuối MacOS có thể yêu cầu tổ hợp phím ⌘V để sử dụng (dán) vì nó không thể được gửi đến tty.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.