Клавиатура — различия между версиями

Материал из SpeccyWiki
Перейти к: навигация, поиск
 
(не показано 5 промежуточных версии 2 участников)
Строка 11: Строка 11:
 
Все модели [[ZX Spectrum 128K]] используют такую же клавиатуру, как и ZX Spectrum+, но у моделей [[ZX Spectrum +2]] и [[ZX Spectrum +3]] отсутствуют обозначения комбинаций клавиш, так как интерпретатор Бейсика для режима 128K не использует токенизированный ввод.
 
Все модели [[ZX Spectrum 128K]] используют такую же клавиатуру, как и ZX Spectrum+, но у моделей [[ZX Spectrum +2]] и [[ZX Spectrum +3]] отсутствуют обозначения комбинаций клавиш, так как интерпретатор Бейсика для режима 128K не использует токенизированный ввод.
  
Отечественные клоны ZX Spectrum использовали клавиатуры различных типов и раскладок, включая 40-кнопочные и расширенные; механические, плёночные и герконовые. Также использовались стандартные клавиатуры типа МС7007 с нанесённой дополнительной маркировкой. Некоторые клоны имели дополнительные клавиши, опрашиваемые через биты 5 и 7 клавиатурного порта ([[Спарк]]/[[Аллофон], [[Орель БК-08]]) и поддерживаемые очень ограниченным количеством программ.
+
Отечественные клоны ZX Spectrum использовали клавиатуры различных типов и раскладок, включая 40-кнопочные и расширенные; механические, плёночные и герконовые. Также использовались стандартные клавиатуры типа МС7007 с нанесённой дополнительной маркировкой. Некоторые клоны имели дополнительные клавиши, опрашиваемые через биты 5 и 7 клавиатурного порта ([[Спарк]]/[[Аллофон]], [[Орель БК-08]]) и поддерживаемые очень ограниченным количеством программ.
  
 
Из-за недоступности нестандартных клавиатур при широком распространении клавиатур стандарта AT (в недавнем прошлом) и PS/2, современные клоны используют специальные контроллеры, позволяющие использовать современные клавиатуры без их переделки. Такие контроллеры могут являться как отдельным устройством, так и присутствовать в компьютере штатно. Простые варианты контроллеров могут замедлять работу компьютера, генерируя сигнал [[WAIT]], так как им требуется время для преобразования данных, получаемых от клавиатуры в требуемый набор сигналов.
 
Из-за недоступности нестандартных клавиатур при широком распространении клавиатур стандарта AT (в недавнем прошлом) и PS/2, современные клоны используют специальные контроллеры, позволяющие использовать современные клавиатуры без их переделки. Такие контроллеры могут являться как отдельным устройством, так и присутствовать в компьютере штатно. Простые варианты контроллеров могут замедлять работу компьютера, генерируя сигнал [[WAIT]], так как им требуется время для преобразования данных, получаемых от клавиатуры в требуемый набор сигналов.
Строка 40: Строка 40:
 
*Нажатие любой клавиши в режиме ''E'' вводит слова, указанные над клавишами (зелёным шрифтом);
 
*Нажатие любой клавиши в режиме ''E'' вводит слова, указанные над клавишами (зелёным шрифтом);
 
*Нажатие любой клавиши в режиме ''E'' совместно с Symbol Shift вводит слова, указанные под клавишами (красным шрифтом).
 
*Нажатие любой клавиши в режиме ''E'' совместно с Symbol Shift вводит слова, указанные под клавишами (красным шрифтом).
 +
  
 
{| class="standard"
 
{| class="standard"
 
!
 
!
 +
!K
 
!SS
 
!SS
 
!CS
 
!CS
Строка 49: Строка 51:
 
!Ext+SS
 
!Ext+SS
 
|-
 
|-
|0
+
!1
 +
|1
 
|!
 
|!
 
|Edit
 
|Edit
Строка 56: Строка 59:
 
|DEF FN
 
|DEF FN
 
|-
 
|-
|1
+
!2
 +
|2
 
|@
 
|@
 
|Caps Lock
 
|Caps Lock
Строка 63: Строка 67:
 
|FN
 
|FN
 
|-
 
|-
|a
+
!3
 +
|3
 +
|#
 +
|True video
 +
|Код фиолетового фона
 +
|Код фиолетовых чернил
 +
|LINE
 +
|-
 +
!4
 +
|4
 +
|$
 +
|Inverse video
 +
|Код зелёного фона
 +
|Код зелёных чернил
 +
|OPEN#
 +
|-
 +
!5
 +
|5
 +
|%
 +
|Курсор влево
 +
|Код голубого фона
 +
|Код голубых чернил
 +
|CLOSE#
 +
|-
 +
!6
 +
|6
 +
|&
 +
|Курсор вниз
 +
|Код жёлтого фона
 +
|Код жёлтых чернил
 +
|MOVE
 +
|-
 +
!7
 +
|7
 +
|'
 +
|Курсор вверх
 +
|Код белого фона
 +
|Код белых чернил
 +
|ERASE
 +
|-
 +
!8
 +
|8
 +
|(
 +
|Курсор вправо
 +
|
 +
|
 +
|POINT
 +
|-
 +
!9
 +
|9
 +
|)
 +
|Graphics mode
 +
|
 +
|
 +
|CAT
 +
|-
 +
!0
 +
|0
 +
|_
 +
|Delete
 +
|Код чёрного фона
 +
|Код чёрных чернил
 +
|FORMAT
 +
|-
 +
!a
 +
|NEW
 
|STOP
 
|STOP
 
|A
 
|A
Строка 70: Строка 139:
 
|~
 
|~
 
|-
 
|-
 +
!b
 +
|BORDER
 +
|*
 +
|B
 +
|BIN
 +
|BRIGHT
 +
|BRIGHT
 +
|-
 +
!c
 +
|CONTINUE
 +
|?
 +
|C
 +
|LPRINT
 +
|PAPER
 +
|PAPER
 +
|-
 +
!d
 +
|DIM
 +
|STEP
 +
|D
 +
|DATA
 +
|\
 +
|\
 +
|-
 +
!e
 +
|REM
 +
|>=
 +
|E
 +
|TAN
 +
|ATN
 +
|ATN
 +
|-
 +
!f
 +
|FOR
 +
|TO
 +
|F
 +
|SGN
 +
| {
 +
| {
 +
|-
 +
!g
 +
|GO TO
 +
|THEN
 +
|G
 +
|ABS
 +
| }
 +
| }
 +
|-
 +
!h
 +
|GOSUB
 +
|^
 +
|H
 +
|SQR
 +
|CIRCLE
 +
|CIRCLE
 +
|-
 +
!i
 +
|INPUT
 +
|AT
 +
|I
 +
|CODE
 +
|IN
 +
|IN
 +
|-
 +
!j
 +
|LOAD
 +
| -
 +
|J
 +
|VAL
 +
|VAL$
 +
|VAL$
 +
|-
 +
!k
 +
|LIST
 +
| +
 +
|K
 +
|LEN
 +
|SCREEN$
 +
|SCREEN$
 +
|-
 +
!l
 +
|LET
 +
|=
 +
|L
 +
|USR
 +
|ATTR
 +
|ATTR
 +
|-
 +
!m
 +
|PAUSE
 +
|.
 +
|M
 +
|PI
 +
|INVERSE
 +
|INVERSE
 +
|-
 +
!n
 +
|NEXT
 +
|,
 +
|N
 +
|INKEY$
 +
|OVER
 +
|OVER
 +
|-
 +
!o
 +
|POKE
 +
|;
 +
|O
 +
|PEEK
 +
|OUT
 +
|OUT
 +
|-
 +
!p
 +
|PRINT
 +
|"
 +
|P
 +
|TAB
 +
 +
 +
|-
 +
!q
 +
|PLOT
 +
|<=
 +
|Q
 +
|SIN
 +
|ASN
 +
|ASN
 +
|-
 +
!r
 +
|RUN
 +
|<
 +
|R
 +
|INT
 +
|VERIFY
 +
|VERIFY
 +
|-
 +
!s
 +
|SAVE
 +
|NOT
 +
|S
 +
|RESTORE
 +
|<nowiki>|</nowiki>
 +
|<nowiki>|</nowiki>
 +
|-
 +
!t
 +
|RANDOMIZE
 +
|>
 +
|T
 +
|RND
 +
|MERGE
 +
|MERGE
 +
|-
 +
!u
 +
|IF
 +
|OR
 +
|U
 +
|CHR$
 +
|]
 +
|]
 +
|-
 +
!v
 +
|CLS
 +
|/
 +
|V
 +
|LLIST
 +
|FLASH
 +
|FLASH
 +
|-
 +
!w
 +
|DRAW
 +
|<>
 +
|W
 +
|COS
 +
|ACS
 +
|ACS
 +
|-
 +
!x
 +
|CLEAR
 +
 +
|X
 +
|EXP
 +
|INK
 +
|INK
 +
|-
 +
!y
 +
|RETURN
 +
|AND
 +
|Y
 +
|STR$
 +
|[
 +
|[
 +
|-
 +
!z
 +
|COPY
 +
|:
 +
|Z
 +
|LN
 +
|BEEP
 +
|BEEP
 +
|-
 +
!Пробел
 
|Пробел
 
|Пробел
 
|Пробел
 
|Пробел
Строка 77: Строка 347:
 
|Пробел
 
|Пробел
 
|-
 
|-
 +
!Enter
 
|Enter
 
|Enter
 
|Enter
 
|Enter
Строка 85: Строка 356:
 
|}
 
|}
  
[[Категория:Устройства ввода]]
+
 
 +
[[Категория:Устройства ввода|*]]

Текущая версия на 06:43, 24 ноября 2009

Клавиатура — основное устройство ввода и управления компьютером.

Оригинальный ZX Spectrum имел 40-кнопочную клавиатуру. Клавиши были резиновыми (аналогичные используемым в калькуляторах), не обеспечивавшими чёткой обратной тактильной связи. Для частичного устранения этого недостатка во встроенном интерпретаторе языка Бейсик реализовано звуковое подтверждение при нажатии клавиш.

Поле стандартной клавиатуры содержит 26 алфавитных, 10 цифровых, пробел и три служебных клавиши — ввод (Enter) и две клавиши регистра, так называемые шифты (Symbol Shift и Caps Shift, сокращённо SS и CS). Все остальные необходимые действия, реализованные на полноценных клавиатурах в виде отдельных клавиш, выполняются комбинациями шифтов с другими клавишами.

В интерпретаторе Бейсика используется токенизированный ввод, позволяющий вводить управляющие слова нажатием одной клавиши. Так как количество слов существенно больше, чем количество клавиш, для ввода части слов также используются различные комбинации шифтов с обычными клавишами. Ввиду отсутствия возможности посимвольного ввода управляющих слов это требует запоминания множества комбинаций клавиш — около пяти вариантов использования каждой клавиши. Для частичного устранения этого недостатка на клавиши нанесены обозначения по специальной системе.

В модели ZX Spectrum+ главным улучшением стало использование расширенной 58-кнопочной клавиатуры. Дополнительные клавиши имитируют нажатие наиболее часто используемых сочетаний клавиш — например, управление курсором. При этом с программной точки зрения интерфейс клавиатуры не изменился, что, с одной стороны, не требует наличия программной поддержки расширенных клавиш в уже существующем ПО, но, с другой стороны, не позволяет отличить расширенные клавиши от клавиш, входящих в комбинацию.

Все модели ZX Spectrum 128K используют такую же клавиатуру, как и ZX Spectrum+, но у моделей ZX Spectrum +2 и ZX Spectrum +3 отсутствуют обозначения комбинаций клавиш, так как интерпретатор Бейсика для режима 128K не использует токенизированный ввод.

Отечественные клоны ZX Spectrum использовали клавиатуры различных типов и раскладок, включая 40-кнопочные и расширенные; механические, плёночные и герконовые. Также использовались стандартные клавиатуры типа МС7007 с нанесённой дополнительной маркировкой. Некоторые клоны имели дополнительные клавиши, опрашиваемые через биты 5 и 7 клавиатурного порта (Спарк/Аллофон, Орель БК-08) и поддерживаемые очень ограниченным количеством программ.

Из-за недоступности нестандартных клавиатур при широком распространении клавиатур стандарта AT (в недавнем прошлом) и PS/2, современные клоны используют специальные контроллеры, позволяющие использовать современные клавиатуры без их переделки. Такие контроллеры могут являться как отдельным устройством, так и присутствовать в компьютере штатно. Простые варианты контроллеров могут замедлять работу компьютера, генерируя сигнал WAIT, так как им требуется время для преобразования данных, получаемых от клавиатуры в требуемый набор сигналов.

Аппаратный интерфейс

Аппаратно кнопки клавиатуры представляют собой матрицу восемь на пять линий — восемь полурядов по пять кнопок. В зависимости от адреса, использованного при обращении к порту клавиатуры, в младших пяти битах возвращается состояние клавиш одного из восьми полурядов. Такая схема создаёт "эффект матрицы" (matrix effect) — при нажатии двух клавиш (одного полуряда) одновременно с третьей клавишей (в одном столбце с первой) возникает паразитное нажатие в полуряду третьей клавиши, соответствующее столбцу второй. Этот эффект можно ликвидировать размещением диода на каждой клавише.

Раскладка клавиш в Sinclair BASIC

40-кнопочная клавиатура

В интерпретаторе Бейсика реализовано несколько режимов ввода. Текущий режим отображается в виде буквы-курсора. Режим ввода может изменяться автоматически, в зависимости от ситуации, а также может изменяться пользователем. Режимы:

  • L (Letters?) — ввод строчных букв и цифр;
  • C (Caps Lock?) — ввод заглавных букв и цифр;
  • K (Keyword?) — активизируется, когда интерпретатор ожидает ввода управляющего слова, алфавитные клавиши вводят слова;
  • E (Extend Mode) — вызывается одновременным нажатием Symbol Shift и Caps Shift, нажатие клавиш вводит дополнительные управляющие слова;
  • G (Graphics) — ввод псевдографических символов и символов, изображение которых определяется пользователем.

Правила ввода:

  • При нажатии алфавитной клавиши в режиме курсора K вводятся слова, указанные на клавише белым шрифтом левее и ниже буквы;
  • Нажатие цифровой клавиши в режимах K и L вводит цифру;
  • Нажатие алфавитной клавиши в режиме L вводит строчную букву, нажатие совместно с Caps Shift - заглавную букву;
  • Нажатие цифровой клавиши в режимах K и L совместно с Caps Shift выполняет действие, указанное белым цветом над цифровыми клавишами (функции редактирования, управление курсором);
  • Нажатие любой клавиши совместно с Symbol Shift вводит символ или слово, указанные на клавише красным шрифтом слева от основной буквы;
  • Нажатие любой клавиши в режиме E вводит слова, указанные над клавишами (зелёным шрифтом);
  • Нажатие любой клавиши в режиме E совместно с Symbol Shift вводит слова, указанные под клавишами (красным шрифтом).


K SS CS Ext Ext+CS Ext+SS
1 1 ! Edit Код синего фона Код синих чернил DEF FN
2 2 @ Caps Lock Код красного фона Код красных чернил FN
3 3 # True video Код фиолетового фона Код фиолетовых чернил LINE
4 4 $ Inverse video Код зелёного фона Код зелёных чернил OPEN#
5 5 % Курсор влево Код голубого фона Код голубых чернил CLOSE#
6 6 & Курсор вниз Код жёлтого фона Код жёлтых чернил MOVE
7 7 ' Курсор вверх Код белого фона Код белых чернил ERASE
8 8 ( Курсор вправо POINT
9 9 ) Graphics mode CAT
0 0 _ Delete Код чёрного фона Код чёрных чернил FORMAT
a NEW STOP A READ ~ ~
b BORDER * B BIN BRIGHT BRIGHT
c CONTINUE ? C LPRINT PAPER PAPER
d DIM STEP D DATA \ \
e REM >= E TAN ATN ATN
f FOR TO F SGN { {
g GO TO THEN G ABS } }
h GOSUB ^ H SQR CIRCLE CIRCLE
i INPUT AT I CODE IN IN
j LOAD - J VAL VAL$ VAL$
k LIST + K LEN SCREEN$ SCREEN$
l LET = L USR ATTR ATTR
m PAUSE . M PI INVERSE INVERSE
n NEXT , N INKEY$ OVER OVER
o POKE ; O PEEK OUT OUT
p PRINT " P TAB © ©
q PLOT <= Q SIN ASN ASN
r RUN < R INT VERIFY VERIFY
s SAVE NOT S RESTORE | |
t RANDOMIZE > T RND MERGE MERGE
u IF OR U CHR$ ] ]
v CLS / V LLIST FLASH FLASH
w DRAW <> W COS ACS ACS
x CLEAR £ X EXP INK INK
y RETURN AND Y STR$ [ [
z COPY : Z LN BEEP BEEP
Пробел Пробел Пробел Break Пробел Пробел Пробел
Enter Enter Enter Enter Enter Enter Enter