跳转到内容

来自维基教科书,为开放世界提供开放书籍

该文档最初托管于 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

华夏公益教科书