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

Telex nâng cao

Trạng thái

Telex nâng cao đã có trên cả 5 nền tảng: macOS, Windows, Linux, iOS và Android. Trang này mô tả đặc tả V5 mà bản hiện thực tuân theo.

Telex nâng cao là một mode có thể chọn riêng. Mode này kế thừa toàn bộ hành vi của Telex hiện tại và bổ sung các phím tắt Full Telex phổ biến. Telex hiện tại không đổi.

Phạm vi V5​

PhímKết quả trong Telex nâng cao
]ư
[ơ
w khi âm tiết chưa có nguyên âmư

Các nguyên âm được tạo bằng cú pháp trên tiếp tục nhận dấu thanh và tham gia vào các quy tắc Telex hiện có như nguyên âm được tạo theo cách thông thường.

t] → tư
m[ → mơ
tr][ngf → trường
ng][if → người
w → ư
wf → ừ
thw → thư
giwx → giữ
wngf → ừng

Cặp ] → ư, [ → ơ theo đúng hành vi của UniKey (engine dùng chung cho UniKey trên Windows và các bản Linux) và OpenKey, nên người quen UniKey gõ ][ vẫn ra ươ. Lưu ý trang hướng dẫn UniKey in ngược cặp này; Funput theo hành vi thực tế của UniKey chứ không theo trang hướng dẫn. Funput dùng tên “Telex nâng cao” để phân biệt mode này với Telex mặc định an toàn hơn.

w sau âm đầu​

w là phím ư ở mọi chỗ âm tiết chưa có nguyên âm, không chỉ ở đầu từ: thw → thư, nhwng → nhưng. Âm đầu gi cũng tính là chưa có nguyên âm, vì chữ i của nó là âm đệm: giwx → giữ, giwax → giữa. Riêng q được loại trừ vì không có âm tiết qư.

Đổi lại, w gõ ngay sau âm đầu không còn chờ để thêm dấu cho nguyên âm phía sau như trong Telex thường:

GõTelexTelex nâng caoCách gõ khác trong Telex nâng cao
cwoncơncươnconw, cown, c[n
giwofgiờgiuờgiowf, gi[f

Vần ươ vẫn về đích: thwongf → thường, ngwoif → người.

Hành vi được kế thừa​

Telex nâng cao phải dùng chung implementation với Telex và kế thừa:

  • Free-position aa, ee, oo và hội tụ dấu thanh.
  • Deferred/free-order w sau nguyên âm và chuẩn hóa ươ, ưa, ưu (w ngay sau âm đầu là ngoại lệ — xem w sau âm đầu).
  • Hội tụ một deferred w với modifier d.
  • Kiểu đặt dấu Traditional và Modern.
  • Spell check, smart/eager restore, Vietnamese-first và Flip.
  • Raw keys, diff tối thiểu và semantics revert hiện tại.

Flip phải khôi phục chính xác chuỗi phím gốc khi người dùng muốn giữ Latin hoặc ký tự [/]. Lựa chọn Latin sau Flip tiếp tục được giữ qua word boundary như Telex hiện tại.

Phân biệt với Telex hiện tại​

Tình huốngTelexTelex nâng cao
] và [Ký tự literalTạo ư và ơ
w khi âm tiết chưa có nguyên âmLiteral hoặc chờ nguyên âm sauTạo ư
Các quy tắc V1–V3CóCó

Mode Telex hiện tại phải giữ nguyên để tránh collision khi nhập tiếng Anh hoặc mã nguồn. Người dùng chủ động chọn Telex nâng cao sẽ chấp nhận phạm vi biến đổi rộng hơn và dùng Flip làm escape chính thức.

Ngoài phạm vi​

V5 không bao gồm deferred tone, hoán vị modifier tùy ý, dictionary, prediction, autocorrect hoặc thay đổi behavior mặc định của Telex. Ánh xạ { → Ơ và } → Ư (bản viết hoa của [/] trong UniKey) cần một quyết định sản phẩm riêng trước khi được thêm vào đặc tả.

Hợp đồng kiến trúc​

  • funput-core là nguồn sự thật duy nhất cho mapping, validation và transform.
  • funput-engine tiếp tục quản lý session, raw keys, Flip, restore và diff; không nhân đôi quy tắc Full Telex.
  • FFI/JNI phải biểu diễn được mode mới bằng một giá trị ổn định và giữ tương thích với các giá trị Telex/VNI hiện có.
  • Mỗi platform chỉ chịu trách nhiệm hiển thị lựa chọn, lưu/đọc cấu hình và truyền mode xuống engine.
  • CLI, import/export cấu hình và migration phải dùng một identifier ổn định, đề xuất advanced-telex; cấu hình cũ không có giá trị này vẫn giữ nguyên behavior.

Vì vậy behavior chỉ được implement một lần trong Rust core, nhưng mode mới vẫn cần wiring qua engine boundary, FFI/JNI và UI/settings của từng platform trước khi người dùng có thể chọn nó.