按下 PC 鍵盤上的按鍵,系統會根據按鍵的位置大致產生 PC 掃描碼。例如,德文鍵盤上的 Z 鍵會產生與英文鍵盤上 Y 鍵相同的代碼,因為它們在鍵盤上的位置相同。大多數金鑰都有一個位元組掃描碼,但某些金鑰具有前置詞為 0xe0 的兩個位元組掃描碼。
在內部,Workstation Player 使用簡化版的電腦掃描碼,即一個 9 位數值,稱為 v-storn code。v$描碼會以三位數的十六進位數位撰寫。第一個數字為 0 或 1。例如,鍵盤左側的 Ctrl 鍵具有一個位元組掃描碼 (0x1d),且其 v-nicn 碼為 0x01d。鍵盤右側的 Ctrl 鍵掃描碼為兩個位元組 (0xe0、0x1d),其 v 掃描碼 0x11d。
PC 上的 XFrees86 伺服器具有從 X 鍵碼到 PC 掃描碼或 v-nicn 碼的一對一對應,這是 Workstation Player所使用的。當 Workstation Player 裝載在 XFrees86 伺服器上並執行本機虛擬機器時,它會使用從 X 金鑰代碼至 v-numn 碼的內建對應。此對應獨立於鍵盤,且大多數語言應正確無誤。在其他情況下 (不是 XFrees86 伺服器或本機伺服器),Workstation Player必須使用一組鍵盤特定的表格。
X 伺服器使用金鑰的兩級編碼,其中包括 X 金鑰代碼和 keysym。X 金鑰代碼是一個位元組值。按鍵的按鍵碼指派取決於 X 伺服器實作和實體鍵盤。因此,X 應用程式通常無法直接使用金鑰代碼。相反,金鑰代碼會對應至名稱為空格、看、x 和 2 等金鑰ym。您可以使用 X 應用程式透過函數 XChangeKeyboardMapping()
或程式 xmodmap 來控制對應。若要深入瞭解鍵盤對應,您可以使用 xev 命令,該命令將會顯示輸入到其視窗中的按鍵代碼和 keysym。
金鑰代碼大致對應於實體金鑰,而 keysym 對應於金鑰頂端的符號。例如,在 PC 上執行 XFree86 伺服器時,德文鍵盤上的 Z 鍵與英文鍵盤上的 Y 鍵具有相同的鍵碼。然而,德文 Z keysym 與英文 Z keysym 相同,與英文 Y keysym 不同。