跳轉到內容

來自華夏公益教科書,為開放世界提供開放書籍

該文件最初託管於 ETHZ。 它仍然 在WayBack存檔中,根據 ETH 許可證

鍵盤支援

此頁面介紹硬體、配置和功能。 使用教程 也已提供。

摘要

Oberon 使用連線到 6 針 DIN 聯結器的 PS/2 式鍵盤,或連線到 4 針 USB 聯結器的鍵盤。 在需要時,數字鍵盤可以接管 滑鼠 的功能。

如何安裝鍵盤驅動程式

新安裝的 Oberon 系統設定為使用 PS/2 式,101 鍵鍵盤,美國佈局。

Qwerty

目前,支援 11 種其他鍵盤佈局:比利時、加拿大、瑞士德語、德語、德沃夏克、法語、挪威語、波蘭語、芬蘭語、土耳其語、英國英語。

除了美國鍵盤外,每個鍵盤都由一個鍵盤對映檔案定義,並且可以透過執行 System.Directory Key*.Bin\d ~ 列出所有這些檔案。

可以使用以下方式安裝其他鍵盤佈局的鍵盤驅動程式

  • 在啟動時,設定 配置字串 Keyboard = mapfilename
  • 或執行以下命令,該命令可以在 Oberon.Text 的“系統”部分進行編輯。

ConfigInput.Keyboard [ mapfilename | ^ ]

設定鍵盤驅動程式,使其與具有指定佈局的鍵盤一起使用。 可以使用 System.Directory Key*.Bin\d ~ 獲取現有對映檔名的列表。 不存在美國檔案;省略引數以安裝美國鍵盤。
轉義相容性/中和

中和鍵用於刪除顯示器上的所有標記,包括插入符號、標記和文字選擇。 F2 鍵被定義為所有 Oberon 系統實現的中和鍵。 在早期的實現中,Esc 鍵被分配了此功能。 這樣做會導致無法在某些需要它的應用程式(例如終端模擬應用程式)中生成 Esc 字元。

轉義相容性選項在啟動時由 配置字串 EscCompat 控制,並允許使用者定義 Esc 鍵的含義
EscCompat = 0(預設)Esc 鍵保留其傳統含義。
EscCompat = 1 Esc 鍵也是一箇中和鍵。 然後必須透過 F3 生成 Esc 字元。

在這兩種情況下,也可以使用 Shift-Esc 或 Alt-27 生成 Esc 字元。

數字鎖定

數字鎖定在啟動時由 配置字串 NumLock 控制
NumLock = 1(預設)啟用數字鎖定模式
NumLock = 0 停用它

如何安裝 USB 鍵盤驅動程式

UsbKeyboard.Init

安裝 USB 鍵盤驅動程式。 USB 系統 必須已經處於活動狀態。
如何支援另一個鍵盤

如果您的特定鍵盤不存在鍵盤對映,則提供 Keyboard.Mod 來幫助構建鍵盤表文件。 使用它的說明包含在原始碼中。 請將您的作品提交給開發團隊,以包含在後續版本中。

ASCII 和 Latin-1(ISO 8859-1)字元集

Oberon 基於標準 ASCII 字元集程式碼點 00H 到 7FH。 這些字元使用相應標記的鍵生成,包括使用美國 101 鍵鍵盤上的 Shift 鍵。 為了跨平臺可移植性,Oberon 通常不支援鍵盤上提供的所有鍵。

可以透過按住 Alt 鍵並在數字小鍵盤上鍵入十進位制值來生成對應於十進位制程式碼點的可列印字元或函式。

要找出某個鍵的相應可列印字元以及十進位制程式碼點和十六進位制程式碼點,請執行 EditKeys.GetKeyCode 並按照系統日誌中的說明進行操作。 該命令在 EditKeys.Tool 中有記錄。

程式碼點 00H 到 1FH

Hex | Dec. Key     Ctrl          TTY 
    |             stroke       symbol 
----+-------------------------------- 
 00 |   0         Ctrl-Shift-`   NUL 
 01 |   1         Ctrl-a         SOH 
 02 |   2         Ctrl-b         STX 
 03 |   3         Ctrl-c         ETX 
 04 |   4         Ctrl-d         EOT 
 05 |   5         Ctrl-e         ENQ 
 06 |   6         Ctrl-f         ACK 
 07 |   7         Ctrl-g         BEL 
 08 |   8         Ctrl-h         BS 
 09 |   9  Tab    Ctrl-i         HT 
 0A |  10         Ctrl-j         LF 
 0B |  11         Ctrl-k         VT 
 0C |  12         Ctrl-l         FF 
 0D |  13  Enter  Ctrl-m         CR 
 0E |  14         Ctrl-n         SO 
 0F |  15         Ctrl-o         SI 
 10 |  16         Ctrl-p         DLE 
 11 |  17         Ctrl-q         DC1 
 12 |  18         Ctrl-r         DC2 
 13 |  19         Ctrl-s         DC3 
 14 |  20         Ctrl-t         DC4 
 15 |  21         Ctrl-u         NAK 
 16 |  22         Ctrl-v         SYN 
 17 |  23         Ctrl-w         ETB 
 18 |  24         Ctrl-x         CAN 
 19 |  25         Ctrl-y         EM 
 1A |  26         Ctrl-z         SUB 
 1B |  27  Esc    Ctrl-[         ESC 
 1C |  28         Ctrl-\         FS 
 1D |  29         Ctrl-]         GS 
 1E |  30         Ctrl-Shift-6   RS 
 1F |  31         Ctrl-Shift--   US

程式碼點 20H 到 7FH

所有字元都是可列印的,除了 DEL。

Hex | .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F 
----+------------------------------------------------ 
 2. | SP  !  "  #  $  %  &  '  (  )  *  +  ,  -  .  / 
 3. |  0  1  2  3  4  5  6  7  8  9  :  ;  <  =  >  ? 
 4. |  @  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O 
 5. |  P  Q  R  S  T  U  V  W  X  Y  Z  [  \  ]  ^  _ 
 6. |  `  a  b  c  d  e  f  g  h  i  j  k  l  m  n  o 
 7. |  p  q  r  s  t  u  v  w  x  y  z  {  |  }  ~ DEL

程式碼點 80H 到 FFH

將特殊語言字元分配給程式碼點 80H 到 95H 是 Oberon 附帶字型的屬性。 在 HTML 中,任何 ISO Latin-1 字元都可以寫成 &#xxx;,其中 xxx 是字元的十進位制程式碼點,替換實體引用。 在剩下的程式碼點中,一些被 Oberon 使用,另一些則未分配。 Latin-1 字元 - ISO 8859-1拉丁文字元 - 可以在美國鍵盤上生成,如下表所示,使用 Alt 鍵或 死鍵 擊鍵(在出現 A、O、U、“ 或 ^ 時,隱含需要 Shift 鍵)。

Hex | Dec. Key     Alt      Deadkey     Entity 
    |             stroke    stroke     reference 
----+---------------------------------------------- 
 80 | 128   Ä     Alt-A    Alt-" + A   Ä 
 81 | 129   Ö     Alt-O    Alt-" + O   Ö 
 82 | 130   Ü     Alt-U    Alt-" + U   Ö 
 83 | 131   ä     Alt-a    Alt-" + a   ä 
 84 | 132   ö     Alt-o    Alt-" + o   ö 
 85 | 133   ü     Alt-u    Alt-" + u   ü 
 86 | 134   †              Alt-^ + a   â 
 87 | 135   ‡              Alt-^ + e   ê 
 88 | 136   ˆ              Alt-^ + i   î 
 89 | 137   ‰              Alt-^ + o   ô 
 8A | 138   Š              Alt-^ + u   û 
 8B | 139   à              Alt-` + a   à 
 8C | 140   è              Alt-` + e   è 
 8D | 141                  Alt-` + i   ì 
 8E | 142   ò              Alt-` + o   ò 
 8F | 143   ù              Alt-` + u   ù 
 90 | 144   é              Alt-' + e   é 
 91 | 145   ë     Alt-e    Alt-" + e   ë 
 92 | 146   ï     Alt-i    Alt-" + i   ï 
 93 | 147   “     Alt-c                ç 
 94 | 148   á              Alt-' + a   á 
 95 | 149   •     Alt-n                ñ 
 96 | 150   –     Alt-s                ß
----------- OType.Mod handles up to 9B ----------- 
 97 | 151                              £ 
 98 | 152                              ¶ 
 99 | 153                              Ç 
 9A | 154 
 9B | 155   ›
 9C to 9F  --- not assigned
 A0 | 160  Insert 
 A1 | 161  Delete 
 A2 | 162  PageUp 
 A3 | 163  PageDown 
 A4 | 164  F1            Setup (in Oberon.Mod) 
 A5 | 165  F2            Neutralise (in Oberon.Mod) 
 A6 | 166  --- not assigned Scroll (in Draw ??) 
 A7 | 167  F4            Scroll Lock (in Draw ??) 
 A8 | 168  Home 
 A9 | 169  End
 AA to C0  --- not assigned
 C1 | 193  Up arrow 
 C2 | 194  Down arrow 
 C3 | 195  Right arrow 
 C4 | 196  Left arrow
 C5 to F4  --- not assigned
 F5 | 245  F5            Display off/on (in Oberon.Mod) 
 F6 | 246  F6 
 F7 | 247  F7            Reset palette (in Oberon.Mod) 
 F8 | 248  F8 
 F9 | 249  F9            Update display (in Oberon.Mod) 
 FA | 250  F10 
 FB | 251  F11 
 FC | 252  F12 
 FD | 253  --- not assigned 
 FE | 254  Esc 
 FF | 255  Quit          Reboot  (in Oberon.Mod)
ASCIITab 工具

ASCIITab.Tool 提供了另一種方法來鍵入帶重音的字元,更普遍地說,任何程式碼點,作為 ALT 鍵組合,前提是安裝了基於 Gadgets 的 GUI。 執行 Desktops.OpenDoc ASCIITab.Tool 將開啟一個文字文件檢視器,其中包含一個表格,從中選擇要插入到其他文字檢視器中正在編輯的文字中的字元。 8 行 32 列的表格包含 Oberon10 字型(Oberon 預設字型)中的可列印字元。 在文字中設定插入符號,並在表格中 MM 點選要插入到插入符號處的字元。

要更改表格的字型,請在 Gadgets.ChangeAttr Font Oberon10.Scn.Fnt ~ 中編輯字型名稱(根據需要),選擇表格(MR 點選)並執行命令。 之後,取消選擇表格並繼續編輯。 對於更大的字型,需要調整表格大小。 由於表格是一個具有 ASCIITab.NewFrame 作為生成器的工具,因此也可以使用 Gadgets.Insert ASCIITab.NewFrame ~ 將其插入插入符號的任何位置。

僅使用小寫字母編寫 Oberon

患有 重複性勞損 (RSI) 的人可能希望僅使用小寫字母編寫 Oberon。 常見問題解答 中描述了三種使這成為可能的方法。

[頂部]

2002 年 7 月 11 日 - 版權所有 © 2002 ETH Zürich。 保留所有權利。
電子郵件:oberon at lists.inf.ethz.ch
主頁:www.ethoberon.ethz.ch

華夏公益教科書