Trong bản Windows 10 May 2019 (build 1908), Microsft đã tích hợp bộ gõ tiếng Việt Telex và VNI để lần đầu tiên chúng ta thực sự trải nghiệm cách gõ tiếng Việt quen thuộc với mình thông qua sự hỗ trợ trực tiếp từ Windows. Nói là "thực sự" là bởi vì không phải Microsoft bỏ quên tiếng Việt. Phương thức gõ VNI được đưa vào Windows 95 Vietnamese Edition nhưng sau này MS phải bỏ nó khỏi Windows và phát triển phương thức gõ riêng do các vấn đề về bản quyền. Tuy nhiên, bộ quy tắc nhập tiếng Việt xa lạ do MS tự xây dựng đã không được cộng đồng dùng tiếng Việt đón nhận. Không có thông tin gì về việc MS đã bỏ bao nhiêu công sức cho việc này vào thời điểm ấy, để rồi sản phẩm bị chối bỏ một cách đáng tiếc.
Trở lại với việc gõ tiếng Việt trên bản Windows 10 mới nhất hiện nay, một số ý kiến nói về vấn đề gạch chân và coi đó là lỗi của bộ gõ. Thực tế không hẳn như vậy. Vậy cụ thể vấn đề là như thế nào? Trên thực tế, đường gạch chân phía dưới từ đang gõ được gọi là pre-edit line. Để hiểu rõ về nó và tiến đến chấp nhận nó, chúng ta cần hiểu qua về cơ chế hoạt động của một bộ gõ nói chung.
Một bộ gõ là một phần mềm chuyển đổi một chuỗi phím được người dùng nhấn từ bàn phím thành một đoạn văn bản ở ngôn ngữ mà bộ gõ đó hỗ trợ. Để thực hiện được công việc đó, bộ gõ cần phải liên tục nhận vào các ký tự được nhấn vào và hiển thị ra màn hình đoạn văn bản ứng với những phím đó. Điều này có vẻ khá đơn giản với tiếng Anh - khi mà chúng ta gõ phím A thì hiện ra chữ A, còn khi người dùng nhấn phím W thì hiện ra chữ W. Tuy nhiên, vấn đề chỉ nằm ở bộ quy tắc mà thôi. Cũng với hai phím nhấn như trên, với tiếng Việt, chúng ta sẽ nhận được chữ A và chữ Ư nếu chúng ta dùng kiểu gõ Telex.
Có hai cơ chế để xử lý từ được xuất hiện trên màn hình: backspace giả và preedit.
Các bộ gõ quen thuộc mà chúng ta dùng hàng thập kỷ nay để gõ tiếng Việt hầu như đều dùng cơ chế backspace giả. Ví dụ chúng ta gõ vào 2 chữ O liên tiếp để tạo nên ký tự Ô bằng kiểu gõ Telex. Cách thực hiện của cơ chế backspace giả là, khi người dùng nhấn phím O thứ hai, bộ gõ sẽ gửi 2 ký hiệu backspace để xoá đi chữ O đầu và chữ O sau nó, sau đó gửi chữ Ô đến ứng dụng. Cách hiện thực này không xuất hiện dấu gạch chân và chúng ta đã quen với nó từ lâu, ít ra là với người dùng trên thế giới Windows.
Trở lại với việc gõ tiếng Việt trên bản Windows 10 mới nhất hiện nay, một số ý kiến nói về vấn đề gạch chân và coi đó là lỗi của bộ gõ. Thực tế không hẳn như vậy. Vậy cụ thể vấn đề là như thế nào? Trên thực tế, đường gạch chân phía dưới từ đang gõ được gọi là pre-edit line. Để hiểu rõ về nó và tiến đến chấp nhận nó, chúng ta cần hiểu qua về cơ chế hoạt động của một bộ gõ nói chung.
Một bộ gõ là một phần mềm chuyển đổi một chuỗi phím được người dùng nhấn từ bàn phím thành một đoạn văn bản ở ngôn ngữ mà bộ gõ đó hỗ trợ. Để thực hiện được công việc đó, bộ gõ cần phải liên tục nhận vào các ký tự được nhấn vào và hiển thị ra màn hình đoạn văn bản ứng với những phím đó. Điều này có vẻ khá đơn giản với tiếng Anh - khi mà chúng ta gõ phím A thì hiện ra chữ A, còn khi người dùng nhấn phím W thì hiện ra chữ W. Tuy nhiên, vấn đề chỉ nằm ở bộ quy tắc mà thôi. Cũng với hai phím nhấn như trên, với tiếng Việt, chúng ta sẽ nhận được chữ A và chữ Ư nếu chúng ta dùng kiểu gõ Telex.
Có hai cơ chế để xử lý từ được xuất hiện trên màn hình: backspace giả và preedit.
Các bộ gõ quen thuộc mà chúng ta dùng hàng thập kỷ nay để gõ tiếng Việt hầu như đều dùng cơ chế backspace giả. Ví dụ chúng ta gõ vào 2 chữ O liên tiếp để tạo nên ký tự Ô bằng kiểu gõ Telex. Cách thực hiện của cơ chế backspace giả là, khi người dùng nhấn phím O thứ hai, bộ gõ sẽ gửi 2 ký hiệu backspace để xoá đi chữ O đầu và chữ O sau nó, sau đó gửi chữ Ô đến ứng dụng. Cách hiện thực này không xuất hiện dấu gạch chân và chúng ta đã quen với nó từ lâu, ít ra là với người dùng trên thế giới Windows.
Cách hiện thực thứ hai phổ biến với Microsoft và trên cả những nền tảng hệ điều hành khác nhưng lại không quen thuộc với những người quen dùng Vietkey trước đây, Unikey, EVKey sau này, ... là preedit. Cần phải khẳng định luôn, preedit mới là cách tiếp cận chính thống để giải quyết vấn đề gõ văn bản.
Với preedit, chúng ta có một vùng nhớ đệm (buffer) bên trong ứng dụng và cho phép bộ gõ tuỳ nghi sửa đổi. Khi nào bộ gõ submit khối văn bản đã được sửa chữa xong thì lúc đó khối văn bản đó mới được coi là một phần của văn bản chính thức, còn trước đó, nó chỉ được coi là tạm thời và đang ở chế độ sửa chữa mà thôi. Chính vì thế, khối văn bản đang được sửa chữa phải được đánh dấu đặc biệt và người ta dùng preedit line. Bạn nào đã gõ tiếng Trung, Hàn, Nhật bằng bộ gõ của Windows có lẽ rất quen thuộc với điều này.
Tuy nhiên, nếu chúng ta đã quen với chuyện gõ nhầm và quay trở lại sửa từ đã gõ xong bằng các ứng dụng gõ tiếng Việt cũ, cách tiếp cận preedit không cung cấp cho chúng ta sự tiện lợi đó nữa. Từ đã được commit thì không sửa như thế được, chúng ta phải xoá đi gõ lại. Dĩ nhiên, cái mình mong muốn vẫn là preedit thì được thôi, nhưng hãy cung cấp cho người dùng thêm cả khả năng sửa từ uyển chuyển như trước đây chúng ta đã có với các ứng dụng gõ tiếng Việt cũ.
Một điểm yếu nữa của bộ gõ của Windows, đó là tính năng cũng như khả năng hỗ trợ còn kém. Nhiều cái những ứng dụng cũ như Unikey đã có và cũng cần thiết với người dùng trong nhiều tình huống, chẳng hạn như khả năng chuyển đổi bộ mã tiếng Việt với văn bản trong clipboard; hỗ trợ các bảng mã cũ như VNI for Windows, TCVN3 và các bộ font tương ứng, ...
Nhìn chung, những gì Microsoft đã cung cấp với bộ gõ tiếng Việt ở lần cập nhật Windows này là rất hứa hẹn. Về phía người dùng, chúng ta đã quen với cách gõ truyền thống, với những tính năng mà các bộ gõ cũ đã cung cấp và có thể chúng ta chưa sẵn sàng để vứt bỏ những ứng dụng đó và những gì chúng mang lại. Đó cũng là cơ hội để Microsoft dần hoàn thiện hơn bộ gõ tiếng Việt của mình trong thời gian tới.
Bài viết này có tham khảo một số thông tin từ bài "Ước mơ bộ gõ kiểu Unikey trên Linux" của tác giả Chin <ndtrung4419 at gmail dot com>