Phím compose

Phím compose (đôi khi còn gọi là phím multi), xuất hiện trên một số loại bàn phím máy tính, là một phím bổ trợ biểu thị sự kết hợp hai (hoặc nhiều hơn) các lần ấn phím ký tự tiếp sau nó để thành lập một ký tự khác (thường là một ký tự hợp) không có sẵn trên bàn phím. Ví dụ, sau khi nhấn phím Compose, ta ấn hai phím ký tự tiếp theo là A rồi E để có thể sinh ra ký tự ghép æ, trong khi đó nếu các phím ký tự được ấn tiếp theo là O và sau đó C thì có thể mang lại ký tự © (C vòng, biểu tượng bản quyền), hoặc nếu tiếp theo ta nhấn ~ và rồi n thì sẽ cho ra ký tự ñ. Các phím compose phổ biến nhất trên nền tảng Linux và một số hệ khác sử dụng hệ thống X Window, nhưng cũng có phần mềm để triển khai phím này trên Windows và MacOS. Các phím compose được ra mắt lần đầu trên các bàn phím gia đình mẫu LK201 của Tổng công ty Thiết bị kỹ thuật số (Digital Equipment Corporation - DEC) và có sẵn trong những phiên bản kế thừa của nó. Bàn phím cũng có đèn LED trên phím compose để biểu thị rằng dãy nhập phím compose đang được thực hiện. Compose cũng có thể được tìm thấy trên bàn phím từ hãng Sun Microsystems. Tuy nhiên, bất kỳ phím nào trên bàn phím có thể được cấu hình để phục vụ như là một phím compose, miễn là chức năng ấy được hỗ trợ bởi phần mềm được sử dụng. ISO/IEC 9995-7 đã thiết kế một ký hiệu đồ họa cho phím này, trong chuẩn ISO/IEC 9995-7 là ký hiệu số 15 "Composite Character" và trong chuẩn ISO 7000 "Bộ ký hiệu đồ họa để sử dụng trên thiết bị" nó là mã ISO-7000-2021. Ký hiệu này được mã hóa trong Unicode là U+2384 ⎄ COMPOSITION SYMBOL. Microsoft Windows và MacOS không hỗ trợ phím compose làm mặc định, thế nên chức năng của phím này được thực hiện nhờ sử dụng một số lệnh hoặc phím khác, như phím Windows phải, phím AltGr, hoặc một trong hai phím Ctrl. Phím compose (ở hàng phím dưới cùng, phía bên trái) trên mẫu bàn phím DEC. Phím compose và LED compose trên các mẫu bàn phím Sun Type 5 và 5c là phím thứ hai bên phải ở hàng dưới cùng. Ký hiệu bàn phím ISO cho phím "Compose Character" Phím compose phân biệt với một phím bổ trợ điển hình (chẳng hạn như phím AltGr hoặc ⌥ Option) ở chỗ, thay vì nó được nhấn và giữ trong khi ấn phím khác để tổ hợp, nó được nhấn và thả ra trước khi tiếp tục ấn các phím sẽ được bổ trợ. Thông thường, sau compose, hệ thống nhập văn bản không hiển thị bất kỳ phím nào được nhấn cho đến khi ký tự đã kết hợp xuất hiện sau phím cuối cùng của một trình tự nhấn phím đã định trước. Do đó, phím compose đôi khi cũng có thể được mô tả chung như là một loại phím chết. Điều làm cho phím compose khác biệt với một phím chết là trong khi mỗi phím chết chỉ có thể được sử dụng để chèn một dấu phụ cụ thể lên một số ký tự cơ sở, phím compose có thể được sử dụng để cho ra bất kỳ loại ký tự nào được hỗ trợ bởi bộ mã hóa ký tự và phông chữ đang được sử dụng. Bằng cách này, một loạt rộng hơn các ký tự đặc biệt có thể được thực hiện trên một bàn phím với số lượng các phím giới hạn. Nhập ký tự gồm nhiều dấu phụ cũng được hỗ trợ, nhấn tuần tự Compose^'a sẽ được ấ. Nói một cách dễ hiểu, ký tự được sinh ra bằng một trình tự nhấn kèm phím compose có thể được coi như là một ký tự hỗn hợp, nhưng nó không cần phải là ký tự có thể phân tách ra được theo nghĩa đen, hoặc có hình dạng tương tự như các ký tự bình thường được gõ bằng các phím tương tự (nghĩa là gõ mà không cần nhấn compose trước tiên). Tuy nhiên, thường có một số liên hệ giúp làm cho dãy nhấn phím dễ nhớ hơn. Ví dụ, gõ Compose, tiếp theo T rồi sau đó, H có thể nhận được ký tự þ trong tiếng Iceland (cũng như trong tiếng Bắc Âu cũ và tiếng Anh cổ), mà tương đương về mặt ngữ âm với chữ ghép hiện đại th. Nhược điểm chính của nhập bằng compose là các trình tự soạn thảo luôn yêu cầu ít nhất một lần nhấn phím. Vị trí trên bàn phím của compose không tiện cũng có thể dẫn tới gõ chậm. Phím compose được biết đến như một "Multi_key" trong hệ thống X Windows System, và phải được giải thích bởi một chương trình khách (thường là Xlib), mà không phải là server. Các server XFree86 và X.Org, một số kiểu bố trí bàn phím có một biến thể ánh xạ Multi_key, thường tới (trên bàn phím máy tính) một trong các phím Windows, hay tổ hợp ⇧ Shift+AltGr hoặc đôi khi là ⇧ Shift+Right-Ctrl. Nó cũng có thể được quy định tại XkbOptions (ví dụ, "compose:rwin") hoặc được kích hoạt thủ công bằng lệnh "setxkbmap -option compose:rwin". Ở các hệ phân phối kiểu Debian, nó cũng có thể được kích hoạt qua Debconf ("dpkg-reconfigure keyboard-configuration"). Multi_key cũng có thể được gán nhờ dùng các tiện ích xmodmap. Lưu ý rằng thông thường thì tổ hợp phím ⇧ Shift+AltGr (tức là trước hết nhấn ⇧ Shift, giữ phím rồi nhấn tiếp AltGr) sẽ được ánh xạ tới phím compose, nhưng với AltGr+⇧ Shift thì sẽ được ánh xạ tới "cấp bổ trợ phím" thứ tư. (ba cấp độ đầu không bao gồm chức năng bổ trợ phím, tức là khi ta nhấn riêng các phím, ⇧ Shift và AltGr.) Vì vậy ví dụ khi muốn nhập biểu tượng bản quyền, © có thể đánh máy bằng cách thay vì compose ta sử dụng tổ hợp ⇧ Shift+AltGr, tiếp đến nhấn O rồi C (cách thông thường), hoặc bằng cách sử dụng cấp bổ trợ thứ 4, tổ hợp AltGr+⇧ Shift+C. Microsoft Windows không sử dụng một phím compose như vậy, thế nên nó không có trên hầu hết bàn phím hiện đại của hãng, nhưng một vài chương trình như PuTTY vẫn hỗ trợ compose. Ngoài ra còn có một số mã nguồn mở tiện ích (như AllChars) và bố trí bàn phím cài đặt có sẵn, có thể thực hiện chức năng của compose bằng cách sử dụng các tổ hợp với các phím Ctrl hoặc AltGr. Hệ nhập văn bản Cocoa của macOS cho phép nhiều ký tự thay thế và có dấu một cách tự nhiên, nhưng lại không hỗ trợ chức năng giống như compose. Ít nhất nó đã được triển khai nhờ sử dụng tiện ích Karabiner, và có hiệu lực trên mọi ứng dụng, cũng như việc sử dụng các driver bàn phím nơi compose được triển khai nhờ tính năng chuỗi phím chết. Mặc dù Chrome OS được cung cấp một số lượng ký tự lớn hơn so với hầu hết các đối thủ cạnh tranh, các tổ hợp cần thiết để có chúng không phải lúc nào cũng rõ ràng như khái niệm mà Compose cung cấp. Google đã cung cấp một tiện ích bổ sung (ComposeKey) để cạnh tranh trong thị trường này. Bảng dưới cho thấy một số tổ hợp phím cho server X.Org. Đối với các hệ hiện đại hỗ trợ Unicode, thì bảng dưới chưa trình bày được hết. ^ “Linux Keyboard Text Symbols: Compose-Key Shortcuts”. FSymbols. ngày 24 tháng 7 năm 2013. Truy cập ngày 7 tháng 7 năm 2015. ^ “p1060628”. WickensOnline. 2007. Bản gốc lưu trữ ngày 13 tháng 4 năm 2015. Truy cập ngày 7 tháng 7 năm 2015. ^ “LK201_large_keycodes.jpg” (JPEG). The NetBSD Project. Truy cập ngày 9 tháng 7 năm 2015. ^ “p1060631”. WickensOnline. 2007. Bản gốc lưu trữ ngày 13 tháng 4 năm 2015. Truy cập ngày 7 tháng 7 năm 2015. ^ “Compose Key on Windows”. Earthwithsun.com. Bản gốc lưu trữ ngày 3 tháng 3 năm 2016. Truy cập ngày 7 tháng 7 năm 2015. ^ a b c Wust, J. 'Mach' (ngày 29 tháng 6 năm 2015). “U.S. custom Keyboard Layout”. SourceForge. Truy cập ngày 7 tháng 7 năm 2015. ^ “Compose Key on Windows”. Earthwithsun.com. Bản gốc lưu trữ ngày 3 tháng 3 năm 2016. Truy cập ngày 7 tháng 7 năm 2015. ^ “Setting up a Real Compose Key on Mac OS X”. Lol Engine. ngày 18 tháng 6 năm 2012. Bản gốc lưu trữ ngày 22 tháng 6 năm 2020. Truy cập ngày 7 tháng 7 năm 2015. ^ “extra-keyboards-for-chrome-os/composekey/”. github.com. Truy cập ngày 28 tháng 1 năm 2020. ^ “ComposeKey”. Chrome Store. Truy cập ngày 28 tháng 1 năm 2020. ^ Monniaux, David. “UTF-8 (Unicode) compose sequence”. Truy cập ngày 15 tháng 7 năm 2015. Linux Compose Key Sequences Lưu trữ 2013-01-14 tại Wayback Machine with equivalent unicode mappings XFree86 Compose Key character map Lưu trữ 2015-07-21 tại Wayback Machine by XFree86 Everything2's list of Compose Key combinations SUN's Compose Key combinations used under CDE Setting up Compose Key in the X Window System AllChars, an open-source utility that emulates the Compose key under MS-Windows JLG Extended Keyboard Layout - yet another utility based on the Compose Key mechanism under Windows Installable keyboard layouts for Windows with source for editing in the MSKLC keyboard editor Accent Composer Lưu trữ 2012-04-26 tại Wayback Machine - Compose accented characters and other symbols under Microsoft Windows. Unicode compatible Compose key sequences used in GNOME/GTK