Chào các bạn,
Hiện nay, mình đang dùng bàn phím với layout TCVN 6064 để nhập liệu (chủ yếu vì nó có lợi thế là gửi thẳng ký tự nên không bị kén chương trình, đánh hỗn hợp ngôn ngữ Anh - Việt rất thuận tiện và dùng với vim rất tốt - các lệnh điều khiển không bị vướng gì hết).
Vấn đề mình gặp đó là với các chữ có dấu thì nó thực ra là gồm 2 ký tự (giống như bài này là mình đang soạn bằng bàn phím TCVN 6064). Vì vậy với việc đọc và in ấn thì không có vấn đề gì, nhưng khi chia sẽ tài liệu cho các bạn khác hoặc xử lý tìm kiếm trên các tài liệu khác do người khác viết thì gặp nhiều vấn đề vì 2 chữ nhìn như nhau nhưng thật ra là khác nhau hoàn toàn. Ví dụ “tần số” (Keyboard TCVN 6064) và “tần số” (Unikey Input) là nó không giống nhau.
Hiện nay, mình đang tìm giải pháp để có thể khi mình bấm các phím dấu sắc, huyền, hỏi, ngã, nặng. Thì sẽ tự động xóa nguyên âm trước đó và thay thế bằng ký tự tương ứng. Ví dụ: Khi bấm <â> kèm theo <dấu huyền> thì sẽ là 1 ký tự duy nhất “ầ” thay vì là “ầ” (2 ký tự).
Đáng tiếc là do khả năng hạn chế nên mình vẫn chưa tìm được phải bắt đầu từ đâu. Mình không cần các cơ chế kiểm tra chính tả hay bỏ dấu gì hết, chỉ cần có thể giám sát được việc xóa và thay thế nguyên âm và dấu ngay sau đó là được. Mình không muốn dùng pre-edit vì nó làm mất tác dụng của việc gửi thẳng lệnh trong vim (ví dụ "i"nsert; "u"ndo; …), cũng như keycode vì mình có dùng cả AltGr để nhập các ký tự dead key, nên chắc là phải giám sát theo keysym.
Nếu các bạn có thể hướng dẫn ví dụ hoặc cho mình xin tài liệu nào (Tiếng Việt nếu có thể), mình rất cám ơn.