Linux

什麼是原始鍵盤模式?

  • October 18, 2017

神奇的 sysrqalt+sysrq+r組合鍵中,根據維基百科,有一個組合可以執行以下操作:

將鍵盤從原始模式(X11 和 svgalib 等程序使用的模式)切換到 XLATE 模式

什麼是原始模式?什麼是 XLATE 模式?

切換到 XLATE 模式後,我可以切換回原始模式嗎?

如何判斷我的鍵盤處於哪種模式?

當您按下鍵盤上的某個鍵時,它會向電腦發送一個數字程式碼,稱為掃描程式碼。掃描碼告訴電腦按下了哪個鍵;例如,在典型的美式鍵盤上,A按鍵會在您按下時發送掃描碼 30(在鬆開時發送掃描碼 158)。當鍵盤處於原始模式時,鍵盤驅動程序將這些程式碼直接報告給應用程序(“原始”表示未處理的、直接從鍵盤上取下的)。少數程序使用原始模式並進行自己的鍵盤處理;X server是最突出的一個。

大多數程序期望當你按下A鍵時,程序讀取字元a(ASCII 97),當你按下Shift+時A,程序讀取A(ASCII 65),當你按下Ctrl+時A,程序讀取Ctrl+A字元(ASCII 1)。沒有關聯字元的鍵發送轉義序列,例如\e[Afor Left,其中\e是 ESC 字元(ASCII 27)。鍵盤驅動程序在鍵盤處於 ASCII 模式時執行此轉換,也稱為 XLATE 模式(“translate”的縮寫)。XLATE 模式允許應用程序進行字元輸入,但代價是無法訪問“按下左 Shift 鍵”或 Ctrl+Shift+A 等與 Ctrl+A 不同的細微差別。

允許您在kbd_mode模式之間切換,如果您在沒有任何參數的情況下呼叫它,則會顯示目前模式。

神奇的 SysRq 組合鍵旨在從各種令人討厭的情況中恢復。組合鍵之一是Alt+SysRq+K殺死目前虛擬控制台上的所有程序;如果該程序將鍵盤置於原始模式,那麼您將無法在登錄提示符下鍵入(這通常會出現,具體取決於您的系統配置)。按下Alt+SysRq+R可恢復通常的(X 之外)ASCII 模式,您可以在其中鍵入字元。

引用自:https://unix.stackexchange.com/questions/16530