Глава 10 клавиатура


Содержание

Глава 5 клавиатура Глава 5 Клавиатура Инструкция по эксплуатации Toshiba Satellite Pro A10

Варианты просмотра

Страница 108: Алфавитно-цифровые клавиши в инструкции по эксплуатации Toshiba Satellite Pro A10

Серия Satellite A10

Last Saved on 08/05/2003 16:13

RUSSIAN using RussianM.dot –– Printed on 08/05/2003 as IM_A10RU

Раскладка клавиатуры компьютера совместима с 101/102-клавишной расширенной клавиатурой При нажатии комбинации нескольких клавиш на компьютере могут выполняться все функции 101/102-

клавишной клавиатуры Количество клавиш на клавиатуре зависит от того на раскладку какой страны/региона настроен ваш компьютер Доступны клавиатуры для различных языков Существует пять типов клавиш: алфавитно-цифровые клавиши дополнительного сегмента клавиатуры функциональные клавиши программируемые клавиши и клавиши управления курсором

Алфавитно-цифровые клавиши позволяют набирать прописные и строчные буквы цифры знаки пунктуации и специальные символы отображаемые на экране Однако есть несколько различий между работой на печатной машинке и на клавиатуре компьютера:

Буквы и цифры компьютерного текста отличаются по ширине

Пробелы создаваемые клавишей «пробел» также могут отличаться в зависимости от выравнивания строки и других параметров

Латинская буква l (эл) нижнего регистра и цифра 1 (единица) не взаимозаменяемы как на печатной машинке

Буква верхнего регистра O и цифра 0 (нуль) не взаимозаменяемы

Клавиша Caps Lock фиксирует в верхнем регистре только алфавитные символы в то время как на пишущей машинке фиксация регистра переводит все клавиши в верхний регистр

Клавиши Shift (регистр) Tab (табулятор) и BkSp (возврат на одну позицию со стиранием) помимо выполнения тех же функций что и на пишущей машинке имеют также специальные компьютерные функции

Работа с клавиатурой AT и PS/2

В заметке об обработке прерываний мы столкнулись с контроллером клавиатуры. Работа с контроллером клавиатуры заслуживает отдельной заметки. Вот она.

Литература

Сразу представлю список источников:

  • Adam Chapweske — The AT-PS/2 Keyboard Interface — 2001.
  • Ying-Wen Bai and Hsiu-Chen Chen — Design of Implementation of a Compatible Keyboard Controller for Keyboards and Mice — 2006.
  • Всеволод Несвижский — Программирование аппаратных средств в Windows — БХВ-Петербург, 2004. Глава 3 — Клавиатура, раздел 3.3. Использование портов.
  • А. И. Поворознюк — Архитектура компьютеров. Архитектура микропроцессорного ядра и системных устройств. Часть 1 — Харьков: Торнадо, 2004. Глава 9 — Клавиатура.
  • Beyond Logic — Interfacing the AT keyboard

Типы клавиатур

В литературе я встречал упоминания нескольких типов клавиатур:

  • IBM PC/XT. Эта клавиатура появилась в 1981 году. Морально устаревшая и несовместимая с последующими типами клавиатур. Контроллер клавиатуры реализован на микросхеме i8255. Для работы с контроллером клавиатуры процессор использовал порты ввода-вывода 0x60 и 0x61. Клавиатура использует набор скан-кодов 1 (о скан-кодах см. ниже).
  • IBM PC/AT и IBM PS/2. Появились в 1984 и 1987 годах. Поддерживаются во всех современных компьютерах. Контроллер клавиатуры реализован на микросхеме i8042. Клавиатура PS/2 мало отличается от клавиатуры AT, они между собой совместимы (и несовместимы с клавиатурой XT). Процессор может посылать контроллеру клавиатуры и самой клавиатуре различные команды (об этом читайте ниже). Клавиатура AT использует набор скан-кодов 2, клавиатура PS/2 поддерживает набор 2 и набор 3. Контроллер клавиатуры позволяет транслировать наборы скан-кодов 2 и 3 в набор 1. Для работы с контроллером клавиатуры процессор использует порты ввода-вывода 0x60 и 0x64.
  • USB. Программирование работы с USB-клавиатурой требует существенно больше усилий, чем с PS/2 [Chapweske]. Впрочем, согласно статье USB Human Interface Devices, некоторые чипсеты поддерживают эмуляцию клавиатуры PS/2:

Some chipsets support emulating USB keyboards and mice as standard PS/2 devices, but many chipsets don’t.

В этой заметке мы рассмотрим работу с клавиатурой, совместимой с AT-PS/2.

Действующие лица

При работе с клавиатурой мы имеем следующих участников:

  • Процессор. Обрабатывает прерывание IRQ1 от контроллера клавиатуры. Общается с контроллером клавиатуры используя порты ввода-вывода 0x64 и 0x60.
  • Контроллер клавиатуры. Расположен на материнской плате компьютера. Представляет собой микросхему i8042. Общается с процессором по системной шине (порты ввода-вывода 0x64 и 0x60). Генерирует прерывание IRQ1. Общается с клавиатурой по протоколу, разработанному фирмой IBM: принимает от нее скан-коды при нажатии и отпускании клавиш. Может принимать команды от процессора (через порт 0x64) и выполнять их. Может пересылать команды, принимаемые от процессора (через порт 0x60) клавиатуре.
  • Клавиатура. Подключена к компьютеру через разъем PS/2. Внутри содержит микросхему i8048, которая аналогична микросхеме i8042, но выполняет другие функции, а именно — сканирует клавиши клавиатуры на предмет нажатости (клавиши являются ключами, которые при нажатии замыкают линии матрицы; подробнее читайте [Поворознюк, раздел 9.2. Блок клавиатуры]). При нажатии или отпускании клавиши i8048 посылает соответствующий скан-код контролеру клавиатуры (расположенному на материнской плате компьютера). Скан-коды хранятся во внутреннем ПЗУ микросхемы i8048.

В дальнейшем важно не путать понятия контроллер клавиатуры (микросхема, расположенная на материнской плате компьютера) и клавиатура (устройство с клавишами, которое подключается к системному блоку).

Скан-коды

Когда пользователь нажимает клавишу на клавиатуре, клавиатура посылает контроллеру клавиатуры т. н. скан-код — один или несколько байт, которые содержат информацию о том, какая клавиша была задействована и что именно произошло (нажали ее или отпустили). То есть при нажатии клавиши клавиатура посылает один скан-код (make), а при отпускании — другой (break). Существует три набора скан-кодов, которые так и называются: набор 1, набор 2 и набор 3 (scan codes set 1, set 2, set 3). Клавиатура XT поддерживает только набор 1. Для клавиатур, совместимых с AT-PS/2, гарантированным является только набор 2 [Chapweske], однако контроллер клавиатуры умеет преобразовывать набор 2 в набор 1 (эту опцию контролера клавиатуры можно включать и выключать, об этом ниже).

Scan codes set 1

Большинство скан-кодов набора 1 (как нажатия, так и отпускания) состоит из одного байта. Код отпускания формируется так: break = make AND 0x80, где break — код отпускания, make — код нажатия, AND — побитовое И. Встречаются и двухбайтовые коды. Если код двухбайтовый, то первым байтом всегда является байт 0xE0. В таблице ниже приведено несколько примеров. Особняком стоят клавиши Insert и Pause. У Insert скан-код состоит из четырех байт, у Pause — из шести, причем кода отпускания у Pause нет.

Клавиша Код нажатия (make) Код отпускания (break)
A 0x1E 0x9E
Insert 0xE0, 0x52 0xE0, 0xD2
Print Screen 0xE0, 0x2A, 0xE0, 0x37 0xE0, 0xB7, 0xE0, 0xAA
Pause 0xE1, 0x1D, 0x45, 0xE1, 0x9D, 0xC5

Scan codes set 2

В наборе 2 большинство скан-кодов нажатия (make) однобайтовые. Коды же отпускания состоят из двух байтов, первый из которых 0xF0, а второй совпадает со скан-кодом нажатия. Как и в наборе 1, в наборе 2 встречаются двухбайтовые коды нажатия. И так же как в наборе 1, в наборе 2 первым байтом в двухбайтовом коде нажатия является 0xE0. Если код нажатия двухбайтовый, то код отпускания — трехбайтовый, причем байты идут в следующем порядке: 0xE0, 0xF0, второй байт скан-кода нажатия. И снова особняком стоят клавиши Insert и Pause. У Insert код нажатия состоит их четырех байт, код отпускания — из шести. У Pause код нажатия состоит из восьми байт, а кода отпускания нет вовсе. В таблице ниже приведены примеры скан-кодов набора 2.

Клавиша Код нажатия (make) Код отпускания (break)
A 0x1C 0xF0, 0x1C
Insert 0xE0, 0x70 0xE0, 0xF0, 0x70
Print Screen 0xE0, 0x12, 0xE0, 0x7C 0xE0, 0xF0, 0x7C, 0xE0, 0xF0, 0x12
Pause 0xE1, 0x14, 0x77, 0xE1, 0xF0, 0x14, 0xF0, 0x77

Scan codes set 3


Набор 3 выглядит лучше, чем два его предшественника, поскольку он более регулярный: в нем все коды нажатия однобайтовые, а все коды отпускания двухбайтовые (первый байт — 0xF0, второй — код нажатия). Примеры приведены в таблице ниже.

Клавиша Код нажатия (make) Код отпускания (break)
A 0x1C 0xF0, 0x1C
Insert 0x67 0xF0, 0x67
Print Screen 0x57 0xF0, 0x57
Pause 0x62 0xF0, 0x62

Преобразование скан-кодов в ASCII коды

Самый простой вариант преобразования скан-кодов в коды ASCII — это использование массива, элементами которого являются ASCII коды, а индексами — скан-коды. Чтобы описать такой массив для набора скан-кодов 2 на языке ассемблера, мне пришлось скопировать таблицу скан-кодов из Интернета в Microsoft Excel, отсортировать ее по возрастанию скан-кода и, поскольку скан-коды идут не подряд, заполнить пустые места нулевыми символами. Столбец таблицы, в котором содержались ASCII коды, я скопировал в файл с исходным кодом на языке ассемблера и получился вот такой массив:

Порты ввода-вывода 0x64 и 0x60

Как я уже говорил, для общения с контроллером клавиатуры процессор использует порты ввода-вывода 0x64 и 0x60 (эти порты связаны с несколькими регистрами контроллера клавиатуры; размер каждого из регистров — 1 байт). В таблице ниже показано, что означают операции чтения и записи в эти порты.

Порт Доступ Описание Ассемблерная команда
0x60 Чтение Читать выходной буфер контроллера клавиатуры in al, 0x60
0x60 Запись Писать во входной буфер контроллера клавиатуры out 0x60, al
0x64 Чтение Читать регистр статуса контроллера клавиатуры in al, 0x64
0x64 Запись Послать команду контроллеру клавиатуры out 0x64, al

Как отмечает в своей статье Adam Chapweske, существует путаница в понятиях «выходной буфер» и «входной буфер». Причем путаница присутствует и в его статье (использование им флагов IBF и OBF не соответствует его же понятиям о входном и выходном буферах). Мы примем следующие определения: если процессор считывает данные из порта 0x60 (это могут быть данные, присылаемые клавиатурой контроллеру клавиатуры, либо данные, которые контроллер клавиатуры формирует самостоятельно в ответ на команду от процессора), то он считывает их из выходного буфера контроллера клавиатуры; если процессор записывает данные в порт 0x60 (он может делать это, что послать данные клавиатуре либо чтобы передать аргумент для команды, которую он послал контроллеру клавиатуры — о командах читайте раздел ниже), то он записывает их во входной буфер контроллера клавиатуры.

Нам понадобится как минимум читать выходной буфер контроллера клавиатуры, потому что именно так мы можем получить скан-коды нажимаемых пользователем клавиш. Когда в выходной буфер контроллера клавиатуры поступает очередной байт, присланный клавиатурой, устанавливается в 1 флаг под названием Output Buffer Full (OBF) — самый младший бит регистра статуса контроллера клавиатуры, и генерируется прерывание IRQ1. Когда вы считываете байт из выходного буфера контроллера клавиатуры, флаг OBF сбрасывается в 0. Перед тем, как считывать данные из выходного буфера контроллера клавиатуры, следует убедиться, что флаг OBF установлен в 1 — для этого надо считать значение регистра статуса. Операцию чтения байта из выходного буфера контроллера клавиатуры я поместил в функцию Keyboard_ReadOutputBuffer (см. раздел Исходный код). Однако если вы читаете байты из выходного буфера внутри обработчика прерывания IRQ1, то и так понятно, что флаг OBF установлен и убеждаться в этом лишний раз нет необходимости.

У нас также может возникнуть необходимость записать что-нибудь во входной буфер контроллера клавиатуры. Такая необходимость может возникнуть в двух случаях:

  • Необходимо послать команду контроллеру клавиатуры, причем команда имеет аргументы, которые и записываются во входной буфер клавиатуры.
  • Необходимо послать команду клавиатуре.

В любом случае, при записи данных во входной буфер контроллера клавиатуры надо проверять флаг Input Buffer Full (IBF) — следующий после OBF бит регистра статуса контроллера клавиатуры. Записать очередной байт во входной буфер можно только если флаг IBF сброшен в 0. Операцию записи байта в входной буфер контроллера клавиатуры я поместил в функцию Keyboard_WriteInputBuffer (см. раздел Исходный код).

Команды

Возможность посылать команды контроллеру клавиатуры и самой клавиатуре появилась впервые в клавиатуре AT. В PS/2 были добавлены новые команды. Команды позволяют процессору получить от соответствующего устройства информацию (например, считать регистр статуса контроллера клавиатуры) или изменить поведение устройства (например, отключить генерацию прерывания IRQ1 контроллером клавиатуры). Команды могут иметь аргументы (аналогия с параметрами функции). В результате выполнения команды устройство, которому команда адресована, присылает в ответ некую информацию (аналогия с возвращаемым значением функции). Контроллер клавиатуры и сама клавиатура имеют отличающиеся наборы команд, они рассмотрены ниже.

Команды контроллеру клавиатуры

Команда представляет собой число размером один байт. Чтобы послать команду контроллеру клавиатуры, процессор должен записать ее в порт 0x64. Если у команды есть аргументы, то они должны быть последовательно записаны во входной буфер контроллера (порт 0x60). В результате выполнения некоторых команд контроллер помещает в свой выходной буфер число (значение которого можно считать из порта 0x60) — некий результат, аналог возвращаемого значения в функциях. В таблице ниже приведены некоторые команды для контроллера клавиатуры (более полный список есть в [Chapweske] и [Несвижский]).

Название команды Код команды Аргументы Возвращаемое значение
Read Command Byte 0x20 нет command byte
Write Command Byte 0x60 command byte нет
Keyboard interface test 0xAB нет 0x00 — ok;
0x01 — сlock line stuck low;
0x02 — clock line stuck high;
0x03 — data line stuck low;
0x04 — data line stuck high
Mouse interface test 0xA9 нет 0x00 — ok;
0x01 — сlock line stuck low;
0x02 — clock line stuck high;
0x03 — data line stuck low;
0x04 — data line stuck high
Controller self-test 0xAA нет 0x55 — ok
Enable mouse interface 0xA8 нет нет
Disable mouse interface 0xA7 нет нет

Из всех команд контроллера клавиатуры наиболее важными мне кажутся команды Read Command Byte и Write Command Byte. Command Byte — это 8-разрядный регистр контроллера клавиатуры, который содержит флаги, которые влияют на поведение контроллера (см. таблицу ниже).

7 6 5 4 3 2 1
AT XLAT PC EN OVR SYS INT
PS/2 XLAT EN2 EN SYS INT2 INT

Наиболее важными мне кажутся следующие флаги (об остальных флагах читайте в [Chapweske]):

  • XLAT — разрешает или запрещает трансляцию скан-кодов в набор 1 (0 — запрещено, 1 — разрешено)
  • INT2 — разрешает или запрещает прерывание IRQ12 от мыши (0 — запрещено, 1 — разрешено)
  • INT — разрешает или запрещает прерывание IRQ1 от клавиатуры (0 — запрещено, 1 — разрешено)

Запись байта в порт 0x64 я поместил в функцию Keyboard_SendCommand (см. раздел Исходный код). Поскольку некоторые принимают аргументы, а некоторые — нет, некоторые команды возвращают значение, а некоторые — нет, функцию Keyboard_SendCommand следует использовать вместе с функциями Keyboard_WriteInputBuffer (чтобы передать аргументы команды) и Keyboard_ReadOutputBuffer (чтобы считать возвращаемое значение). В качестве примера использования этих функций ниже приведен код, который отключает трансляцию скан-кодов в набор 1: сначала он считывает command byte из контроллера клавиатуры в регистр al, затем сбрасывает бит XLAT в регистре al в 0, а потом записывает содержимое регистра al обратно в command byte.

Команды клавиатуре

Команда клавиатуре представляет собой число размером 1 байт. Чтобы послать команду клавиатуре, ее надо записать во входной буфер контроллера клавиатуры (порт 0x60). Контроллер клавиатуры пересылает клавиатуре любые данные, записанные в его входной буфер (если только они не являются аргументами команды контроллеру клавиатуры). Команда клавиатуре может иметь аргументы. Аргументы должны быть последовательно записаны во входной буфер контроллера клавиатуры непосредственно после самой команды. В ответ клавиатура всегда присылает байт 0xFA (Acknowledge), который показывает, что команда принята или 0xFE (Resend), который показывает, что с командой что-то пошло не так. Этот байт нужно считать из выходного буфера контроллера клавиатуры. Некоторые наиболее важные с моей точки зрения команды клавиатуре перечислены в таблице ниже:

Название команды Код команды Аргументы Возвращаемое значение
RESEND 0xFE нет последний посланный байт или 0xFE (Resend)
DISABLE 0xF5 нет 0xFA (Acknowledge) или 0xFE (Resend)
ENABLE 0xF4 нет 0xFA (Acknowledge) или 0xFE (Resend)
SET_SCAN_CODE_SET 0xF0 0x01, 0x02 или 0x03 0xFA (Acknowledge) или 0xFE (Resend)
Echo 0xEE нет 0xEE (Echo) или 0xFE (Resend)
Set/Reset LEDs 0xED битовая маска: бит 0 — ScrollLock, бит 1 — NumLock, бит 2 — CapsLock 0xFA (Acknowledge) или 0xFE (Resend)

В качестве примера посылки команд клавиатуре приведу код, который сначала посылает клавиатуре команду прекратить сканирование (в результате клавиатура не будет посылать системному блоку скан-коды при нажатии клавиш), а затем — команду возобновить сканирование.

; Disable keyboard
push word KEYBOARD_COMMAND_DISABLE
call Keyboard_WriteInputBuffer
call Keyboard_ReadOutputBuffer

; Enable keyboard
push word KEYBOARD_COMMAND_ENABLE
call Keyboard_WriteInputBuffer
call Keyboard_ReadOutputBuffer

Исходный код — Функции для работы с клавиатурой

Функции и макроопределения для работы с клавиатурой я поместил в файл keyboard.inc.

; An array of ASCII symbols which reflects keyboard layout. Indexes into this array are keyboard scan-codes.
SCAN_CODE_SET1 db 0 , ‘1234567890-+’ , 0 , 0 , ‘QWERTYUIOP[]’ , 0 , 0 , ‘ASDFGHJKL;’ , «‘`» , 0 , 0 , ‘ZXCVBNM,./’ , 0 , ‘*’ , 0 , ‘ ‘ , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , ‘789-456+1230.’ , 0 , 0
SCAN_CODE_SET2 db 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 126 , 0 , 0 , 0 , 0 , 0 , 0 , ‘Q’ , ‘1’ , 0 , 0 , 0 , ‘Z’ , ‘S’ , ‘A’ , ‘W’ , ‘2’ , 0 , 0 , ‘C’ , ‘X’ , ‘D’ , ‘E’ , ‘4’ , ‘3’ , 0 , 0 , ‘ ‘ , ‘V’
db ‘F’ , ‘T’ , ‘R’ , ‘5’ , 0 , 0 , ‘N’ , ‘B’ , ‘H’ , ‘G’ , ‘Y’ , ‘6’ , 0 , ‘J’ , 0 , ‘M’ , 0 , ‘U’ , ‘7’ , ‘8’ , 0 , 0 , 44 , ‘K’ , ‘I’ , ‘O’ , ‘0’ , ‘9’ , 0 , 0 , ‘.’ , ‘/’ , ‘L’ , 59 , ‘P’ , ‘-‘ , 0 , 0 , 0
db 39 , 0 , ‘[‘ , ‘=’ , 0 , 0 , 0 , 0 , 0 , ‘]’ , 0 , 92 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , ‘1’ , 0 , ‘4’ , ‘7’ , 0 , 0 , 0 , ‘0’ , ‘.’ , ‘2’ , ‘5’ , ‘6’ , ‘8’ , 0 , 0 , ‘0’ , ‘+’ , ‘3’ , ‘-‘ , ‘*’ , ‘9’ , 0 , 0 , 0 , 0 , 0 , 0

; AT-PS/2 Keyboard Controller Status Register Bits
KEYBOARD_CONTROLLER_STATUS_PERR equ 10000000b
KEYBOARD_CONTROLLER_STATUS_RxTO equ 01000000b
KEYBOARD_CONTROLLER_STATUS_TO equ 01000000b
KEYBOARD_CONTROLLER_STATUS_TxTO equ 00100000b
KEYBOARD_CONTROLLER_STATUS_MOBF equ 00100000b
KEYBOARD_CONTROLLER_STATUS_INH equ 00010000b
KEYBOARD_CONTROLLER_STATUS_A2 equ 00001000b
KEYBOARD_CONTROLLER_STATUS_SYS equ 00000100b
KEYBOARD_CONTROLLER_STATUS_IBF equ 00000010b ; if IBF=0, Input Buffer is empty and you can write data to it; if IBF=1 Input Biffer is full and you shouldn’t write data to it
KEYBOARD_CONTROLLER_STATUS_OBF equ 00000001b ; if OBF=1, Output Buffer is full and you can read data from it; if OBF=0 Output Buffer is empty and you shouldn’t read data from it

; AT-PS/2 Keyboard Controller’s Commands
KEYBOARD_CONTROLLER_COMMAND_READ_COMMAND_BYTE equ 0x20 ; parameters: no; returns: command byte
KEYBOARD_CONTROLLER_COMMAND_WRITE_COMMAND_BYTE equ 0x60 ; parameters: command byte
KEYBOARD_CONTROLLER_COMMAND_GET_VERSION_NUMBER equ 0xA1 ; parameters: no; returns: version number
KEYBOARD_CONTROLLER_COMMAND_GET_PASSWORD_EXISTS equ 0xA4 ; parameters: no; returns: 0xFA if password exists and 0xF1 otherwise
KEYBOARD_CONTROLLER_COMMAND_SET_PASSWORD equ 0xA5 ; parameters: null-terminated string of scan codes
KEYBOARD_CONTROLLER_COMMAND_CHECK_PASSWORD equ 0xA6
PS2_CONTROLLER_COMMAND_DISABLE_MOUSE_INTERFACE equ 0xA7 ; parameters: no
PS2_CONTROLLER_COMMAND_ENABLE_MOUSE_INTERFACE equ 0xA8 ; parameters: no
PS2_CONTROLLER_COMMAND_MOUSE_INTERFACE_TEST equ 0xA9 ; parameters: no; returns: 0x00 — ok, 0x01 — Clock line stuck low, 0x02 — clock line stuck high, 0x03 — data line stuck low, 0x04 — data line stuck high
KEYBOARD_CONTROLLER_COMMAND_CONTROLLER_SELF_TEST equ 0xAA ; parameters: no; returns: 0x55 if ok
KEYBOARD_CONTROLLER_COMMAND_KEYBOARD_INTERFACE_TEST equ 0xAB ; parameters: no; returns: 0x00 — ok, 0x01 — Clock line stuck low, 0x02 — clock line stuck high, 0x03 — data line stuck low, 0x04 — data line stuck high
KEYBOARD_CONTROLLER_DISABLE_KEYBOARD_INTERFACE equ 0xAD ; parameters: no
KEYBOARD_CONTROLLER_ENABLE_KEYBOARD_INTERFACE equ 0xAE ; parameters: no
KEYBOARD_CONTROLLER_COMMAND_GET_VERSION equ 0xAF
KEYBOARD_CONTROLLER_COMMAND_WRITE_MOUSE_DEVICE equ 0xD4 ; parameters: value to be sent to PS/2 mouse
KEYBOARD_CONTROLLER_COMMAND_READ_TEST_PORT equ 0xE0 ; parameters: no; returns: values on test port

; AT-PS/2 Keyboard Controller’s Command Byte flags (see KEYBOARD_CONTROLLER_COMMAND_READ_COMMAND_BYTE and KEYBOARD_CONTROLLER_COMMAND_WRITE_COMMAND_BYTE commands)
KEYBOARD_COMMAND_BYTE_XLAT equ 01000000b ; Translate Scan Codes to set 1 (0 — disabled, 1 — enabled)
KEYBOARD_COMMAND_BYTE_EN2 equ 00100000b ; Disable Mouse (0 — enabled, 1 — disabled)
KEYBOARD_COMMAND_BYTE_EN equ 00010000b ; Disable keyboard (0 — enabled, 1 — disabled)
KEYBOARD_COMMAND_BYTE_OVR equ 00001000b ; Inhibit Override (0 — enabled, 1 — disabled)
KEYBOARD_COMMAND_BYTE_SYS equ 00000100b ; System Flag (0 — power-on value, 1 — BAT code received)
KEYBOARD_COMMAND_BYTE_INT2 equ 00000010b ; Mouse Output Buffer Full Interrupt (0 — disabled, 1 — enabled)
KEYBOARD_COMMAND_BYTE_INT equ 00000001b ; Output Buffer Full Interrupt (0 — disabled, 1 — enabled)

; AT-PS/2 Keyboard Commands (do not confuse «Keyboard» and «Keyboard Controller»)
KEYBOARD_COMMAND_RESET equ 0xFF ; Causes keyboard to enter «Reset» mode
KEYBOARD_COMMAND_RESEND equ 0xFE ; Used to indicate an error in reception.
KEYBOARD_COMMAND_SET_KEY_TYPE_MAKE equ 0xFD ; Allows the host to specify a key that is to send only make codes.
KEYBOARD_COMMAND_SET_KEY_TYPE_MAKE_BREAK equ 0xFC ; Similar to «Set Key Type Make», but both make codes and break codes are enabled (typematic is disabled).
KEYBOARD_COMMAND_SET_KEY_TYPE_TYPEMATIC equ 0xFB ; Similar to previous two commands, except make and typematic is enabled; break codes are disabled.
KEYBOARD_COMMAND_SET_ALL_KEYS_TYPEMATIC_MAKE_BREAK equ 0xFA ; Default setting. Make codes, break codes, and typematic repeat enabled for all keys.
KEYBOARD_COMMAND_SET_ALL_KEYS_MAKE equ 0xF9 ; Causes only make codes to be sent; break codes and typematic repeat are disabled for all keys.
KEYBOARD_COMMAND_SET_ALL_KEYS_MAKE_BREAK equ 0xF8 ; Similar to the previous two commands, except only typematic repeat is disabled.
KEYBOARD_COMMAND_SET_ALL_KEYS_TYPEMATIC equ 0xF7 ; Similar to the previous three commands, except only break codes are disabled. Make codes and typematic repeat are enabled.
KEYBOARD_COMMAND_SET_DEFAULT equ 0xF6 ; Load default typematic rate/delay (10.9cps / 500ms), key types (all keys typematic/make/break), and scan code set (2).
KEYBOARD_COMMAND_DISABLE equ 0xF5 ; Keyboard stops scanning, loads default values (see «Set Default» command), and waits further instructions.
KEYBOARD_COMMAND_ENABLE equ 0xF4 ; Reenables keyboard after disabled using previous command.
KEYBOARD_COMMAND_SET_TYPEMATIC_RATE_DELAY equ 0xF3 ; Host follows this command with one argument byte that defines the typematic rate and delay.
KEYBOARD_COMMAND_SET_SCAN_CODE_SET equ 0xF0 ; Host follows this command with one argument byte, that specifies which scan code set the keyboard should use.
KEYBOARD_COMMAND_ECHO equ 0xEE ; The keyboard responds with «Echo» (0xEE).
KEYBOARD_COMMAND_SET_RESET_LEDS equ 0xED ; The host follows this command with one argument byte, that specifies the state of the keyboard’s Num Lock, Caps Lock, and Scroll Lock LEDs.

; Flags that can be combined to form an argument of command KEYBOARD_COMMAND_SET_RESET_LEDS
KEYBOARD_LED_CAPS_LOCK equ 00000100b
KEYBOARD_LED_NUM_LOCK equ 00000010b
KEYBOARD_LED_SCROLL_LOCK equ 00000001b

; Parts of scan codes
KEYBOARD_SPECIAL_KEY equ 0xE0
KEYBOARD_BREAK_KEY equ 0xF0

;
; Sends a command (writes it to port 0x64) to the keyboard controller, located on the motherboard.
; Parameters: word [ebp + 8] — command (can be one of the constants defined above: KEYBOARD_CONTROLLER_COMMAND_* or PS2_CONTROLLER_COMMAND_*)
Keyboard_SendCommand :
push ebp
mov ebp , esp
push ax


@@ :
in al , 0x64 ; read Status Byte
; test Input Buffer Full (IBF) flag
test al , KEYBOARD_CONTROLLER_STATUS_IBF
jnz @b ; wait until IBF=0
mov al , [ ebp + 8 ] ; al = command
out 0x64 , al ; send command to keyboard controller

;
; Reads single byte from the keyboard output buffer.
; Returns: al — byte from the keyboard output buffer
Keyboard_ReadOutputBuffer :
. WaitOutputBuffer :
in al , 0x64 ; read Status Byte
; test Output Buffer Full (OBF) flag
test al , KEYBOARD_CONTROLLER_STATUS_OBF
jz . WaitOutputBuffer ; wait until OBF=1
in al , 0x60 ; read output buffer
ret
; ——————————-

;
; Writes single byte to the keyboard input buffer.
; Parameters: word [ebp + 8] — lower byte of this is to be sent to keyboard
Keyboard_WriteInputBuffer :
. WaitInputBuffer :
push ebp
mov ebp , esp
push ax

in al , 0x64 ; read Status Byte
; test Input Buffer Full (IBF) flag
test al , KEYBOARD_CONTROLLER_STATUS_IBF
jnz . WaitInputBuffer ; wait until IBF=0
mov al , [ ebp + 8 ] ; al = parameter
out 0x60 , al ; send byte to keyboard

Обработка прерывания IRQ1 от контроллера клавиатуры

Прерывание IRQ1 генерируется для каждого байта скан-кода в отдельности, т. е. если например пользователь нажал клавишу Insert, скан-код которой в наборе 2 состоит из двух байт (0xE0, 0x70), то последовательно сгенерируется два прерывания IRQ1. код отпускания клавиши Insert состоит из трех байт, поэтому при ее отпускании сгенерируется три прерывания IRQ1. Ниже показан обработчик прерывания IRQ1, в котором предполагается, что используется scan code set 2. При нажатии на клавишу обработчик прерывания должен получить скан-код, перевести его в ASCII-код соответствующего символа и вывести символ на экран.

; cursor position (0. 1999). initial value of 160 places the cursor to the 4th row on the screen.
cursor dd 240

KEYBOARD_KEY_IS_SPECIAL_FLAG equ 00000001b
KEYBOARD_KEY_IS_BREAK_FLAG equ 00000010b
scan_code_flags db 0
; —- Keyboard Controller ———
irq1_handler :
push ax
push edi

;
;if(al == KEYBOARD_SPECIAL_KEY)
; <
; scan_code_flags |= KEYBOARD_KEY_IS_SPECIAL_FLAG;
; return;
;>
;else if(al == KEYBOARD_BREAK_KEY)
; <
; scan_code_flags |= KEYBOARD_KEY_IS_BREAK_FLAG;
; return;
;>
;else if((scan_code_flags & KEYBOARD_KEY_IS_SPECIAL_FLAG) != 0 || (scan_code_flags & KEYBOARD_KEY_IS_BREAK_FLAG) != 0)
; <
; scan_code_flags = 0;
; return;
;>

cmp al , KEYBOARD_SPECIAL_KEY
jnz @f
or byte [ scan_code_flags ] , KEYBOARD_KEY_IS_SPECIAL_FLAG
jmp . exit
@@ :
cmp al , KEYBOARD_BREAK_KEY
jnz @f
or byte [ scan_code_flags ] , KEYBOARD_KEY_IS_BREAK_FLAG
jmp . exit
@@ :
test [ scan_code_flags ] , KEYBOARD_KEY_IS_SPECIAL_FLAG
jz @f
mov [ scan_code_flags ] , 0
jmp . exit
@@ :
test [ scan_code_flags ] , KEYBOARD_KEY_IS_BREAK_FLAG
jz @f
mov [ scan_code_flags ] , 0
jmp . exit
; ———————————————

@@ :
; convert scan-code to ASCII-code
dec al
movzx edi , al
mov al , [ edi + SCAN_CODE_SET2 ]
cmp al , 0
jz . exit

; print symbol on the screen
mov ah , 0x07 ; symbol attribute (light gray on black)
mov edi , [ cursor ]
mov [ es : edi * 2 ] , ax

; advance cursor position (if(++cursor >= 2000) cursor = 0;)
inc dword [ cursor ]
cmp dword [ cursor ] , 2000
jb . exit
mov dword [ cursor ] , 0

. exit :
pop edi
pop ax
jmp int_EOI

Как включить подсказки при вводе текста на аппаратной клавиатуре в Windows 10 Redstone 4

Мы все привыкли, что при вводе текста на наэкранной клавиатуре операционные системы дают нам подсказки по следующим словам, включают автокоррекцию, добавляют пробел после точки и т.д. Однако на аппаратных клавиатурах такого не было — считалось, что это не нужно, и только в новой версии Windows 10 (Redstone 4, 1803, 17040+), которая сейчас находится в бета-версии, появилась эта возможность: можно включить различных помощников при вводе текста на аппаратных клавиатурах.

Для этого нужно открыть Параметры > Устройства > Ввод и включить нужного помощника:

Лучшая экранная клавиатура: 10 лет поисков

Давайте обсудим тот инструмент, с которым мы сегодня работаем чаще и больше всего — экранную клавиатуру смартфонов (и планшетов тоже чуть-чуть).

О чем речь?

Ниже я опишу свой личный опыт работы с разными экранными клавиатурами и свое собственное мнение. Естественно, оно может и будет отличаться от мнения других людей, так что добро пожаловать в комментарии для обсуждения.

К какой-то определенной платформе я привязываться не буду, хотя основных будет две: iOS и Android. С ними двумя работаю одновременно уже много лет и это основные игроки на рынке. То есть, речь не о выборе лучшей экранной клавиатуры в принципе, а о том, что лучшим считаю я лично. Это важный момент.

На размышления на данную тему меня натолкнул недавний опыт работы со старой «звонилкой» и релиз новой Android-клавиатуры Google с порядковым номером 5, которая реально порадовала и заставила чаще брать в руки Nexus 6.

К хорошему привыкаешь быстро…

…Что я особенно остро прочувствовал, попытавшись на днях набрать текстовое сообщение на аппаратной клавиатуре обычного мобильного телефона, то бишь, «звонилки». Это какой-то адский ад, а ведь раньше набирали и были довольны. Но если сравнить это с возможностями современных смартфонов, в том числе и дешевых моделей по цене до $100, то разница — небо и земля.

Ответить на электронное письмо несколькими предложениями — не проблема. Обновить свой статус в социальной сети — минутное дело. Я даже умудряюсь иногда целые статьи набирать на экранной клавиатуре iPhone. Например, таким образом был написан материал об опыте эксплуатации iPhone 6 Plus. К слову, на комментарии зачастую тоже отвечаю с экрана смартфона и, бывает, получаются довольно большие тексты, набираемые за минуты.

Все-таки за последние 10 лет произошел огромный скачок в развитии сенсорных интерфейсов и средств ввода в частности. В свое время настоящей революцией или же огромным эволюционным скачком стала экранная клавиатура iOS. Мало того, что в ней было реализовано много уникальных фишек, пальцевый ввод, так она еще и работала очень шустро, если не сказать «Идеально» в сравнении с другими решениями такого рода.

Возможно, меня раскритикуют фанаты Android, но на этой платформе схожего качества работы экранной клавиатуры удалось добиться только Google с ее фирменным приложением. И то лишь с релизом Android 5.x. До того, реакция на нажатия, да и опыт работы с экранными клавиатурами для Android оставляли желать лучшего. Причем я перепробовал (и купил) много наиболее популярных тематических приложений, включая SWYPE (да, изначально эта клавиатуры была платной), SWIFT, Fleksy, Swiftkey, TouchPal и фирменные решения Samsung (тоже весьма неплохие).

Но сперва предлагаю немного окунуться в историю и вспомнить, как развивались экранные клавиатуры.

С чего все начиналось

Моя история работы с экранными клавиатурами началась лет 10–11 назад с платформы Windows Mobile 5. В те давние времена был приобретен КПК Fujitsu Siemens Pocket LOOX N500. Выбора среди экранных клавиатур тогда особо не было или же я не искал, так как устраивала стандартная.

Малюсенькие клавиши, работа только со стилусом, зато есть сразу все: и цифровой ряд, и кнопки управления курсором, и даже поддержка жестов. Например, быстрое удаление слова или печать с большой буквы. Скорость набора, конечно же, ограничена одной рукой и необходимостью попадать стилусом в маленькие кнопки, но она была однозначно выше, чем при работе на цифробуквенной клавиатуре мобильных телефонов.

В этом плане выигрывали только смартфоны с аппаратной QWERTY-клавиатурой, среди которых в личном пользовании были легендарные Nokia E61, E61i и E71.

Затем появился первый iPhone, который взбудоражил мир и фактически ввел новый стандарт как для сенсорного интерфейса, так и для экранных клавиатур.

Меня давно напрягала необходимость использовать две руки для работы с КПК, особенно когда речь касалась коммуникатора. До перехода на iPhone я пользовался «народным» Samsung i710, и набрать на нем SMS, когда ты в автобусе и одной рукой держишься за поручень, было просто невозможно. Соответственно, пальцевый интерфейс в iPhone OS (именно так iOS называлась изначально) стал для меня как манна небесная.

К слову, до того пытался установить схожую «пальцевую» оболочку на Samsung i710 — как раз случился их бум после анонса iPhone — даже немного порадовался улучшившейся функциональности гаджета при работе одной рукой. Но когда спустя некоторое время приобрел себе телефон от Apple (изначально он все-таки был ближе к телефону, чем к смартфону), то понял, каким же оболочки на Windows Mobile являются лютым суррогатом на фоне оригинала.

Думаю ветераны, прошедшие путь от iPhone 2G до современных моделей, а до того попользовавшиеся другими смартфонами и коммуникаторами, меня поймут.

Какой же это был КАЙФ! Интерфейс iPhone OS — ну просто сказка после Symbian и Windows Mobile: плавная работа, инерционный скролинг, анимация — какие-то космические технологии после всего, что было ранее! И это лишь оболочка операционной системы. «Дай поскролить», — частенько я это слышал от знакомых, которые видели iPhone в моих руках. А вспомните о мобильном Safari — вообще небо и земля на фоне потуг на других платформах того времени. Но вернемся к экранной клавиатуре.

Не все сразу


Что впервые было реализовано именно в клавиатуре iOS:

  • моментальная реакция на нажатия с классным фирменным щелчком, который слышим и по сей день;
  • выскакивающее превью кнопки при нажатии — ты всегда знаешь на каком символе палец;
  • длительное нажатие позволяет выбрать дополнительный символ на одной и той же кнопке;
  • переезд цифровой и символьной клавиатуры в отдельное меню;
  • быстрое переключение языка раскладки одной кнопкой (поддержка русского появилась не сразу);
  • уникальное наведение курсора с линзой, увеличивающей текст;
  • совершенно бомбическая система распознавания касаний (в том числе и толстыми пальцами-сардельками), когда даже не очень точно попадая в кнопку, получаешь тот символ, который задумал напечатать.

Линза, щелчки, превью кнопок и идеально настроенная система распознавания касаний, плюс возможность легко и быстро набирать текст одной рукой — вот это все просто рвало в лоскуты от восторга на фоне потуг конкурентов.

Хотя не все было так сладко, несмотря на революционность и удобство. Функция копирования/вставки текста и буфер обмена появились только в iOS 3. Если мне не изменяет память, то тогда же была реализована и фишка с отменой/повтором введенного текста с помощью встряхивания устройства.

Забавно, что в столь же удобном виде в рамках Android копирование и вставка оказались реализованы совсем недавно в Android 6.x (меню появляется над выделенным текстом, а не в самом верху экрана). Хотя и само по себе выделение текста в «Роботе» не интуитивное — надо нажать на слово и подержать палец. В то время как в iOS это двойной клик по слову (как в настольных платформах).

Обратите внимание, что второй вариант (тот самый, из Android) работает в Safari для iOS, причем таким образом можно выделять даже текст ссылки (а не переходить по ней). Достаточно нажать на слово, подержать на нем палец, пока оно не выделится, а затем, не отпуская палец, вести к другому слову — выделенная область будет перепрыгивать со слова на слово, следуя за пальцем. Навели на ссылку, отпустили, а маркеры выделения остались — дальше уже отмечаете целую фразу, если нужно.

Еще более смешон тот факт, что в Android до сих пор нет функции отмены/повтора введенного текста!

Стоит также отметить, что народ очень тепло отзывается об экранной клавиатуре в Windows/Windows Phone, но у меня нет большого опыта работы с ней. Шустрая, в планшетной версии есть поддержка горячих клавиш — это все, что могу сказать. Платформа не самая распространенная на смартфонах, так что особо тут обсуждать и нечего.

Возвращаясь к экранной клавиатуре Apple стоит отметить, что после упомянутых изменений в iOS 3 она оставалась практически в своем оригинальном виде вплоть до выхода iPhone 6, iPhone 6 PLus и iOS 8 соответственно. Затем она была несколько доработана. В планшетной же версии реальное улучшение мы увидели только в iOS 9, но они получились очень солидными.

В свою очередь на платформе Android экранная клавиатура выросла из «коротких штанишек» лишь на днях с релизом Google Keyboard 5

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

Что имеем сегодня и кто же лучший?

Ситуация получилась несколько необычная в силу того, что часть функций в современной экранной клавиатуре Apple привязана к «железу» и стоит учитывать этот факт. Но сперва поговорю об опыте работы с альтернативными клавиатурами.

Альтернативы для iOS

Попробовал несколько альтернатив для iOS, как только такая возможность появилась с релизом iOS 8, но ни одна не впечатлила, включая SWYPE, TouchPal и Fleksy.

Причин несколько. Основная — неудобно использовать в режиме постоянного переключения между основной клавиатурой и сторонней. Android в этом плане намного комфортнее, когда стороння клавиатура работает как отдельный, полностью интегрированный в систему модуль.

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

Третья — оригинальная экранная клавиатура просто лучше, чем любая альтернатива, но подробнее об этом расскажу ниже.

SWYPE для Android

Первая сторонняя клавиатура, что я попробовал на Android, причем еще во времена Galaxy Note 1. Так на ней в основном и оставался в силу ряда полезных фишек:

  • непрерывный ввод — это реально круто и действительно ускоряет ввод текста с экрана;
  • поддержка жестов на манер таковых в Windows Mobile (свайпом стереть слово или написать большую букву);
  • поддержка горячих клавиш выделения/копирования/вставки текста;
  • удобное меню с кнопками управления курсором;
  • функция облачного бэкапа и синхронизации между устройствами (появилась не сразу).

Все хорошо в SWYPE на Android, но со временем обратил внимание на не самую ее шуструю производительность. Особенно это стало заметно, когда месяц пользовался One Plus One как основным смартфоном. Начались поиски альтернатив.

SwiftKey

Эта клавиатура обещала нечто среднее между SWYPE и классической экранной клавиатурой. Хотя непрерывный ввод появился там не сразу. Тем не менее, рассмотрю все фишки сразу.

Нечто среднее значит, что удобно вводить как стандартными кликами, так и непрерывно ведя пальцем от кнопки к кнопке. В общем-то, первое было действительно так — нормальный ввод и распознавание касаний тоже получше, чем у конкурента. Плюс работает немного шустрее.

Кроме того, у SwiftKey хороший предиктивный набор, когда клавиатура сама подбирает слова и выражения в зависимости от текущего набора и предыдущего опыта взаимодействия с пользователем.

Но качество конкретно непрерывного набора у нее сильно отстает от такового в SWYPE. Уж не знаю, то ли годы работы с последней дают о себе знать, то ли у нее все-таки лучший движок непрерывного набора, но она намного чаще понимает конкретно то слово, что я хочу ввести, чем SwiftKey.

Опять же, до качества классического ввода кликами данному экземпляру все также далеко до клавиатуры iOS, как и SWYPE, хоть он и лучше последнего. В общем, побаловался я этой клавиатурой, несколько раз к ней возвращался на Android, но потом все равно переходил на SWYPE. Несмотря на «тормоза».

TouchPal

Также натолкнулся на нее во время поисков более шустрой альтернативы SWYPE. Тут и предиктивный набор, и хороший классический ввод нажатиями, и вполне себе приличный непрерывный ввод, и весьма шустрая скорость работы. Шустрее упомянутого конкурента. Плюс еще скины классные.

Клавиатура настолько понравилась в рамках ее использования на One Plus One, что я даже купил платную годовую подписку (дает облачный словарь, больше шкурок и еще несколько ништяков). Тем не менее, со временем отказался от ее использования в силу все того же более слабого непрерывного ввода в сравнении со SWYPE. А именно непрерывным вводом я в основном и пользуюсь, так как классический продолжал напрягать на фоне параллельной работы с клавиатурой iOS на iPhone как на основном смартфоне.

Клавиатура Samsung

Плотно пользовался именно фирменной корейской клавиатурой на планшете Galaxy Tab 8.4. Причина — поддержка горячих клавиш, в том числе повтора/отмены ввода.

По качеству ввода она все так же отставала от планшетной клавиатуры на iOS (скорость, отклик), но функционально была поинтересней. С другой стороны, сколько я ни пытался приспособить Android-планшет для работы, все равно ничего из этого не вышло. Все-таки планшетный софт для iOS в те времена был сильно лучше, да и сейчас он мне нравится больше. Хотя iA Writer для Android весьма неплох. Фактически лучший Markdown-редактор для этой платформы.

Неплохая и современная клавиатура Samsung для смартфонов, судя по тому, что я видел в последних моделях Galaxy S7 и Galaxy S7 Edge, но особого опыта работы с ней нет. Как минимум интересна идея ввода одной рукой, когда клавиатура уменьшается, чтобы удобно было доставать ее большим пальцем.

Google Keyboard

Впервые попробовал ее, как только там появился непрерывный ввод. Он меня совершенно не впечатлил в сравнении со SWYPE. Скорость работы вроде ничего, но распознавание кликов, оформление, слабая функциональность на фоне альтернатив — все это надолго отвернуло от Android-классики.

Когда обзавелся Nexus 6, дал ей второй шанс. Но опять не то. Тем более что клавиатура SWYPE уже не тормозила так сильно, как она это делала на One Plus One, так что вернулся к ней. Уж очень привык как к непрерывному вводу, так и к горячим клавишам.


Третий шанс я дал этой клавиатуре недавно, когда она обновилась до версии 5.0. И это самое масштабное обновление после появления в ней непрерывного ввода. Так вот теперь SWYPE покинул мой «эталонный гуглофон» и его место окончательно заняла клавиатура Google. Интернет-гигант если уж не догнал клавиатуру Apple, то очень сильно к ней приблизился. Фактически Google Keyboard 5.0 можно считать эталоном для Android.

Что же меня в ней так проперло:

  • Очень, нет — она ОЧЕНЬ шустрая. Вот точно такая же по отклику, как экранная клавиатура Apple.
  • Есть непрерывный ввод, и он стал близок по качеству к SWYPE.
  • Есть запятая на основном экране в русской раскладке.
  • Появилась функция управления курсором, если нажать на Space и провести влево или вправо. Кнопка превращается в маленький тачпад. Правда, перемещать курсор можно только влево или вправо. Плюс движется он не столь шустро и плавно как в iOS-клавиатуре при использовании 3D Touch или двух пальцев на iPad. Но фишка удобная.
  • Появился режим одноручного ввода, когда клавиатура уменьшается (нажать и подержать значок запятой). Явно у Samsung подсмотрено, ну и ладно. Главное, что потребитель не в накладе.
  • Можно разделить кнопки как в классической клавиатуре для Android KitKat. Буквы на однородном сером или темном фоне меня напрягают — нет ощущения кнопок. Все хорошо в меру, в том числе и минимализм. Намного комфортнее, когда клавиши разделены.
  • Настраивается высота клавиатуры.

Тут все еще нет поддержки горячих клавиш и отмены/повтора ввода, но уже сейчас это действительно лучшая клавиатура Android. Уверен, рано или поздно Google встроит и эти фишки.

Почему такой восторг? Все просто — почти исчезла разница в том, где набирать текст при работе со смартфоном — на iPhone 6s Plus и на Nexus 6.

В последние дни несколько раз детально отвечал на комментарии, используя оба устройства, и писал довольно длинные тексты. Обычно меня напрягало написание таких на Android-смартфоне — много исправлений, ошибок, а как надо что-то поправить — это просто боль. Теперь же никакого напряга. Выручает быстрое управление курсором, нравится шустрый отклик клавиш (плюс тактильная отдача в виде вибрации) и объединение непрерывного ввода вместе с классическим кликом. Какие-то слова выстукиваешь по буквам, какие-то вводишь непрерывно двигая пальцем по экрану — все вместе это ускоряет ввод и уменьшает количество ошибок.

Пока Google Keyboard 5.0 доступна в Google Play не во всех регионах. Компания по традиции распространяет ее порционно. Но любой желающий может загрузить приложение с APKMirror.

Конкретно для Nexus 6 подходит arm-версия (Qualcomm Snapdragon 805 и древнее). Для тех аппаратов, что на Qualcomm Snapdragon 810 и новее — arm64. Для моделей на SoC Intel — x86.

Тем не менее, iOS и экранная клавиатура Apple все еще остается в приоритете и вот почему так.

Экранная клавиатура Apple

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

В ландшафтной ориентации клавиатура Apple на iPhone 6s Plus (и 6 Plus) рвет решение Google в лоскуты. Масса дополнительных полезных клавиш, включая запятую в русской раскладке, горячие кнопки копирования/вставки, а также отмены ввода. Я с большим комфортом набираю в дороге рабочие тексты в таком режиме, используя iA Writer.

Второй огромный плюс конкурента — это 3D Touch, превращающий клавиатуру в трекпад для управления курсором. Фишка есть лишь в iPhone 6s и 6s Plus, что несколько нивелирует ее ценность, но хуже от этого она не становится. Реализация у Google пока сильно отстает от 3D Touch. Да, хорошо, что трекпад на кнопке Space появился, и он будет работать на любом совместимом Android-смартфоне, но это далеко не 3D Touch. И даже не двухпальцевое управление курсором на iPad.

Планшетная клавиатура в iOS 9 тоже перетерпела ряд крутых изменений, включая появление горячих клавиш и трекпада. У нее в мире Android в принципе аналогов нет. Но явно появятся в будущем.

Таким образом, победителем в моем личном ТОПе экранных клавиатур для смартфонов становится фирменное решение для iOS. На втором месте Google Keyboard 5.0 — это лучшая клавиатура для Android, на мой скромный взгляд.

Среди планшетных клавиатур — однозначно лучший вариант у Apple. Неплоха планшетная клавиатура Samsung, но она доступна лишь на фирменных устройствах.

Естественно, выбор экранной клавиатуры — дело сугубо индивидуальное, так что, как и упоминал в начале статьи — добро пожаловать в комментарии. Пишите о своем опыте, предлагайте интересные альтернативы. Я ведь рассмотрел далеко не все из доступных.

P. S. Упоминал о клавиатуре Fleksy, но так ничего о ней и не написал конкретного, так как тупо не врубился в нее. Ну вот не понял кайфа работы с ней и не смог приспособиться. Но многим нравится.

(4.50 из 5, оценили: 2)

10 комбинаций клавиш, которые сделают вашу жизнь проще

Ребята, мы вкладываем душу в AdMe.ru. Cпасибо за то,
что открываете эту красоту. Спасибо за вдохновение и мурашки.
Присоединяйтесь к нам в Facebook и ВКонтакте

Знание правильных комбинаций клавиш может значительно повысить вашу производительность. Brainscape подсчитал, что человек, проводящий по 8 часов перед компьютером в день, может ежегодно терять по 64 часа, используя мышь вместо клавиатуры для большинства задач.

Хотя все знают пару-тройку сочетаний клавиш, например Ctrl + C для копирования и Ctrl + V для вставки, мы редко пытаемся найти или использовать другие комбинации. AdMe.ru составил список из 10 важных сочетаний клавиш, которые превратят вас в опытного пользователя. Все наши схемы актуальны для русской раскладки. Кроме того, для тех, кто только учится печатать вслепую на клавиатуре, в конце есть интересный бонус.

Возврат отмены

Для пользователей Windows: Хотя большинство из вас знает, что Ctrl + Z используется для отмены действия, знаете ли вы, что есть комбинация клавиш, которая работает наоборот? Нажатие Ctrl + Н вернет действие, которое вы отменили.

Для пользователей Mac: Command + Shift + Z.

Скриншот активного окна

Для пользователей Windows: Клавиша Print Screen (PrtSc) на клавиатуре используется для создания снимков всего экрана. Но если вы хотите быстро сделать снимок только активного окна, нажмите Alt + Print Screen. Это избавит вас от необходимости редактировать скриншот, чтобы вырезать только нужный кусок изображения.

Для пользователей Mac: Ctrl + Shift + 4, затем нажмите клавишу пробела. Это изменит курсор с перекрестия на значок камеры. Теперь нажмите на окно, которое вы хотите сфотографировать.

Создать новую папку

Для пользователей Windows: Самый распространенный способ создания новой папки — щелкнуть правой кнопкой мыши или трекпадом, а затем выбрать «Создать» — «Папка». Более простой способ — нажать клавиши Ctrl + Shift + Т одновременно.

Для пользователей Mac: Shift + Command + N. Откроется новая папка в Finder.

Клавиатура со смайликами

Только для Windows 10: При нажатии клавиши Windows и клавиши Точка отобразится клавиатура со смайликами. Это не работает в предыдущих версиях Windows.

Для пользователей Mac: Поместите курсор в текстовое поле, в которое вы хотите вставить эмодзи. Теперь нажмите Ctrl + Command + пробел, чтобы получить к ним доступ.

Свернуть все окна

Для пользователей Windows: Что, если вам нужно немедленно свернуть все открытые окна? Простое нажатие клавиш Windows + Ь сотворит чудеса!

Для пользователей Mac: Option + Command + M.


Блокировка

Для пользователей Windows: Если сворачивания окон недостаточно, вы можете заблокировать Windows, нажав клавиши Windows + Д. Чтобы продолжить работу, вам нужно будет ввести свой пароль в системе Windows.

Для пользователей Mac: Ctrl + Shift + Power.

Добавить новый виртуальный рабочий стол (Windows 10)

Если вы держите множество приложений открытыми одновременно или используете свой компьютер для самых разных задач, виртуальные рабочие столы предлагают удобный способ избежать беспорядка. Чтобы добавить новый виртуальный рабочий стол, нажмите Windows + Ctrl + В. Для перемещения назад и вперед между виртуальными рабочими столами используйте комбинацию клавиш Windows + Ctrl + стрелка вправо / стрелка влево. Нажатие клавиш Windows + Ctrl + F4 закроет текущий виртуальный рабочий стол.

Браузер Google Chrome

Откройте Chrome в режиме инкогнито

Для пользователей Windows: Вы, вероятно, знаете, что Ctrl + Т и Ctrl + Е используются для открытия нового окна и вкладки в Google Chrome. Но если вы часто используете Chrome в режиме инкогнито, одновременное нажатие клавиш Ctrl + Shift + N (Ctrl + Shift + Т в русской раскладке) сэкономит вам время.

Для пользователей Mac: Command + Shift + N.

Открыть недавно закрытую вкладку

Для пользователей Windows: Если вы случайно закрыли нужную вкладку, ее можно открыть снова, нажав Ctrl + Shift + Е. При каждом нажатии этих клавиш открывается ранее закрытое окно. Браузер Chrome запоминает последние 10 вкладок, которые вы открывали.

Для пользователей Mac: Command + Shift + T.

Открыть ссылки в новой вкладке, не заходя в нее

Для пользователей Windows: Когда вы используете Google для поиска и нажимаете на результат поиска, открывается новая вкладка, соответствующая нажатой ссылке. Если вы хотите открыть больше ссылок, которые отображаются на странице поиска, вы должны каждый раз возвращаться к главной странице. Чтобы остаться на странице поиска и открыть все результаты, которые вы хотите просмотреть в отдельных вкладках, удерживайте нажатой клавишу Ctrl, нажимая на ссылку. Этот метод будет работать для всех ссылок, которые вы нажимаете в любом месте при использовании браузера Chrome.

Для пользователей Mac: Нажмите клавишу Command и щелкните ссылку.

Бонус: схема печатания

Если вы начнете практиковать быструю печать на клавиатуре, следуя правильному методу, вы увеличите скорость набора текста и избежите ошибок. Для начала определите «домашние» клавиши для пальцев левой руки и пальцев правой руки.

Домашние клавиши для пальцев левой руки: Ф, Ы, В, А (с мизинцем на Ф).

Домашние клавиши для пальцев правой руки: Ж, Д, Л, О (с мизинцем на Ж).

Цвет ногтей каждого пальца соответствует цвету клавиш на клавиатуре.

После нажатия любой клавиши палец должен вернуться к своей «домашней» клавише.

После того как вы достаточно потренируетесь и наработаете мышечную память для каждого пальца, вам не нужно будет постоянно возвращаться к «домашним» клавишам.

А какие другие малоиспользуемые сочетания клавиш знаете вы? Поделитесь с нами своим опытом.

Keystone — клавиатура, которая чувствует силу нажатия

Точность ввода в играх и приложениях — одна из ключевых характеристик компьютерной периферии. Стартап под названием Input Club анонсировал выпуск необычной механической клавиатуры, фишкой которой стала система распознавания силы нажатия клавиш.

Высокая тактильная чувствительность Keystone стала возможна благодаря оснащению механических переключателей дополнительными элементами: миниатюрными магнитами и датчиками Холла. По заверению разработчиков, встроенный детектор способен определять от 200 до 500 степеней силы нажатия, но для удобства использования функции этот диапазон был уменьшен до десяти уровней.

Клавиатура найдёт применение в разных сценариях работы, в играх и для набора текста. Для повышения точности работы применяется система обучения, которая «привыкает» к манере печати владельца после нескольких сотен нажатий. Полученный профиль сохраняется в памяти и обеспечивает срабатывание каждой клавиши независимо от силы нажатия в соответствии с индивидуальным стилем печати пользователя. Поддерживается и функция набора заглавных символов при «вдавливании» кейкапов.

В остальном Keystone полностью повторяет функциональность классических проводных клавиатур с RGB-подсветкой. Проект уже собрал более $180 тысяч на краудфандинговой площадке Kickstarter при заявленной сумме $35 тысяч для начала производства. Компактная версия клавиатуры обойдётся в $149, полноразмерная — в $179.

Сбор средств на дополнительные модификации устройства продлится до 15 августа, в продажу клавиатура поступит в феврале 2020-го.

Тысяча и одна кнопка, глава 1. Обзор 15 современных клавиатур

Когда-то клавиатура была просто устройством вывода данных на бумагу. В те времена они, печатные машинки, были большие и чугунные, а вместо монитора перед оператором была каретка, из которой постепенно выдвигался лист с напечатанным. Тогда за работой можно было и музыку послушать — вот тебе патефон, и баланс подсчитать — на том же столе стоял не менее чугунный арифмометр с ручкой (его вычислительная мощность зависела от мышечной силы: чем сложнее вычисление, тем труднее провернуть ручку). А как же без игр? Они тоже присутствовали — всегда можно было вечером с друзьями перекинуться в картишки.
Обо всем, что мы наблюдаем на своих столах в нашем веке, мы рассказывать не будем. Расскажем только о том, во что превратились клавиатуры. Теперь это не просто устройство ввода, а нечто (иногда даже слишком) космическое.

A4Tech KBS-27
Особенности: 12 дополнительных кнопок
Интерфейс: PS/2
Подставка под кисти рук: нет
Руководство по эксплуатации: есть
Программное обеспечение: дискета с драйверами
Цена: $9
Сначала поговорим про дополнительные кнопки A4Tech KBS-27 . Их немного: простенькое управление браузером и почтовиком, а также плеером. Есть минус — плеер с клавиатуры не вызывается. Кнопка Sleep находится в опасной близости от кнопки WWW.
А вот теперь про саму клавиатуру. Вот уж не классика так не классика! Левая и правая части клавишной группы стоят под углом друг к другу, сходясь в вершине и образуя трапециевидный дизайн. Выглядит это странно, но на самом деле KBS-27 — прекрасная анатомическая клавиатура. При работе на ней кисть с предплечьем составляют прямую линию, так что печатать на такой клавиатуре — одно удовольствие. Бытует мнение, что надо недели две тренироваться, чтобы научиться на подобной машинке работать. Можем вас заверить, у тестера это получилось практически сразу.
Минусы тоже есть: клавиши немного поскрипывают и пощелкивают. Да и подставку под руки неплохо бы.

A4Tech KBS-26
Особенности: 33 дополнительных кнопки, из них 12 программируемых
Интерфейс: PS/2
Подставка под кисти рук: есть
Руководство по эксплуатации: есть
Программное обеспечение: дискета с драйверами
Цена: $13
Основные клавиши A4Tech KBS-26 полностью повторяют форму KBS-27, и даже подставка под руки есть. Внизу, под левой рукой, у нас оказалась дружная четверка кнопок “вырезать-скопировать-вставить-отменить”. Несмотря на близость к клавиатуре, палец туда не соскальзывает. Выше находится широкий скролл для вертикальной прокрутки. Еще выше, в одной канавке, находятся кнопки Back и Forward (интересно, что с правой стороны клавиатуры кнопки дублируются), далее Toggle (переключатель страниц) и Close. Продолжаем лезть вверх по левой стороне, и. о ужас! Прямо напротив кнопки Esc в широкой ложбинке находятся ничем не защищенные Sleep и Turn Off. Пожалуй, это самый большой недостаток A4Tech KBS-26 .
Остальные дополнительные кнопки находятся выше и поделены на группы. Слева — весь MS Office, вызов браузера и почтового клиента. В центре — полукруг с мультимедийными кнопками в обрамлении калькулятора, календаря, поиска, кнопок My Comp и Log Off. Правое “плечо” занято, кроме Back и Forward, еще и Favorites , Refresh, Stop. А двенадцать переназначаемых F-кнопок помогут вам как в Office, так и в почтовике.
Главным недостатком клавиатуры стала подставка под руки, которую, однажды установив, очень сложно снять, не сломав. A4Tech KBS-26 — добротная клавиатура для тех, кто любит навороты, но в меру.

BenQ 6511 UP
Особенности: 13 дополнительных кнопок, колесо громкости
Интерфейс: PS/2
Подставка под кисти рук: есть
Руководство по эксплуатации: нет
Программное обеспечение: нет
Цена: $11
Раскладка у BenQ 6511 UP обычная, вот только функциональные кнопки больно узкие и высокие, и проблематично добираться через них к мультимедиа-группам. С правой стороны у нас разбросаны кнопки для вызова интернет-браузера, почтового клиента, по центру — неудобный мультимедиа-центр: рука так и норовит нажать что-нибудь ненужное. Немного удивило наличие кнопки вызова скринсейвера. Она находится совсем рядом с браузерной стрелкой. Можно перепугаться, увидев вдруг вместо предыдущей страницы браузера глухо-черную заставку. А не зевай при работе на компьютере!
Русские буквы на клавиатуре блеклые. Нажимать на клавиши не слишком удобно, если вы не привыкли еще со времен механических печатных машинок к глубоким кнопкам. Для новичка быстро работать на BenQ 6511 UP будет сложно. Основной недостаток BenQ 6511 UP оказался на поверхности: она просто-таки катается по поверхности стола.

BTC 8180
Особенности: 18 дополнительных кнопок, слайдер, микрофон/динамик
Интерфейс: PS/2 + мини-джек
Подставка под кисти рук: есть
Руководство по эксплуатации: есть
Программное обеспечение: диск
Цена: $19,3
Что-то новенькое от BTC . Стандартная клавиатура, никаких тебе неожиданностей под пальцами, разве что кнопка выключения компьютера синеет. Остальные 17 дополнительных кнопок предназначены для работы с мультимедийными программами — интернет, калькулятор, “Мой компьютер” и т.д. Самое интересное, что у BTC 8180 есть микрофон: теперь вы можете отослать голосовое сообщение. И услышать ответ, даже если нет колонок. Рыжий мини-джек как раз предназначен для гнезда в аудиокарте. Серый, едва заметный слайдер, подпирающий клавишу Pause Break, — не что иное, как переключатель “говорить-слушать”, а короткая синяя полоска под пробелом — включение микрофона.
Да, необычная, надо сказать, клавиатура. Единственное, что не понравилось, так это тяжеловатая подвеска клавиш. Зато их расположение привычно, и пальцы промахиваться не будут.

BTC 8191
Особенности: дополнительных кнопок 21, из них 12 программируемых
Интерфейс: PS/2
Подставка под кисти рук: есть
Руководство по эксплуатации: есть
Программное обеспечение: диск
Цена: $14
Слева на доске BTC 8191 размещен скролл, его можно использовать для прокрутки, а также для выбора документов или музыки. Над скроллом расположены офисные кнопки — можно что-то вырезать, скопировать, вставить. Сверху в одну линию выстроились кнопки для вызова офисных приложений и управления функциями браузера, а также громкостью. КнопкиLog Off и Sleep отнесены, и вы точно случайно их не нажмете, как это получается во многих других клавиатурах.
И все бы хорошо, но клавиатура беззастенчиво ездит по столу, подставка для рук неудобная, и “красивейшие” закругленные кнопки курсора ну никак нельзя назвать удачными. Клавиши излишне тугие, хотя и не самые глубокие, пальцы от этого быстро устают. BTC 8191 — явно не самая удачная клавиатура в линейке компании.

Cherry G83-6104
Особенности: нет
Интерфейс: PS/2
Подставка под кисти рук: нет
Руководство по эксплуатации: нет
Программное обеспечение: нет
Цена: $34
Клавиатура с замысловатым названием G83-6104 от компании Cherry — обычная “клава”. Самая что ни на есть классика. Приятные на ощупь, мягкие клавиши, кириллица хорошо выделена, латиница отмечена лишь контурами. Никаких наворотов, работа с G83-6104 — одно удовольствие. Единственно, к чему можно придраться, так это к некоторой шумности работы клавиш.
Cherry G83-6104 прекрасно подойдет для ценителей классики и высокого качества.

Chicony KBP-0108
Особенности: 18 дополнительных кнопок
Интерфейс: PS/2
Подставка под кисти рук: нет
Руководство по эксплуатации: нет
Программное обеспечение: диск
Цена: $12
Клавиатура необычной формы, с эдакой черной накладкой неправильной формы, идущей поверху. KBP 0108 можно назвать красивой. Справа в ряд расположена вся интернет-навигация, к счастью, далеко от функциональных клавиш. Удобно разместили кнопки “вырезать”, “копировать” и “вставить”. Справа от кнопок управления плеером расположились две очень нужные кнопочки: вызов калькулятора и Sleep.
Подставки под запястья не предусмотрено, а было бы здорово. И с русскими буквами, к сожалению, проблема — видны они плохо. Клавиши немного люфтят и пощелкивают.

Chicony KBP-9885
Особенности: 17 дополнительных кнопок
Интерфейс: PS/2
Подставка под кисти рук: есть
Руководство по эксплуатации: нет
Программное обеспечение: диск
Цена: $12
Перейдем к обзору Chicony KBP-9885 . Если вы привыкли искать мультимедийную группу в центре клавиатуры, поскорее попытайтесь избавиться от этой привычки: здесь расположились кнопки Sleep и выключения компьютера! Но к счастью, найти то, что нам нужно, нетрудно. Все управление плеером занимает левую сторону верха клавиатуры, а простейшая интернет-навигация и почтовик — правую.
Ход клавиш не самый приятный, но в меру глубокий. Кириллица нарисована темно-вишневым на черном, так что ее видно очень плохо. Отдельная песня — подставка для кистей рук. Она широкая, но именно в том месте, где должны покоиться ваши кисти, пролегла глубокая вмятина, что неудобно.

Defender Boomerang S KM-2040
Особенности: 35 дополнительных кнопок, 12 программируемых, скролл
Интерфейс: PS/2
Подставка под кисти рук: вмонтирована
Руководство по эксплуатации: есть
Программное обеспечение: диск
Цена: $15
Вот еще один недорогой клавиатурный звездолет — Defender Boomerang S KM-2040 . Подставка под запястья несъемная, г-образная, в левой ее части есть все необходимое для вырезания-копирования-вставления и перемещения вверх-вниз, а также взад-вперед чего бы то ни было, есть и колесо.
Левая верхняя группа кнопок выдаст на монитор по желанию Word, Excel, Power Point, Calendar. Включив треугольную клавишу Office Lock, вы получите доступ к важнейшим функциям Office. Следующая группа — интернет и почта. С помощью все того же Office Lock вы можете отправлять и перенаправлять письма. Далее пристроилась троица толстеньких кнопочек My computer, Calculator и почему-то Log off. Ну, и справа, на возвышении, находится куча кнопок для плеера. Чуть выше разместились кнопки Sleep и Power Off.
Клавиши у Boomerang S KM-2040 большие, приятные, мягко, но глубоко утопают.


Defender Noteboard KM-4010
Особенности: 12 дополнительных кнопок, из них 5 программируемых
Интерфейс: PS/2
Подставка под кисти рук: нет
Руководство по эксплуатации: есть
Программное обеспечение: нет
Цена: $18
На очереди у нас ноутбучно-мультимедийная клавиатура Defender Noteboard KM-4010 . Что в ней сразу может понравиться, так это то, что не пожалели места (да его много и не понадобилось) и сделали приличный курсор. Что не понравилось — кнопка Sleep совсем рядом с My computer. Управление функциями мультимедиа, браузером и почтовиком выстроены в линию.
Ход клавиш у Noteboard KM-4010 короткий и жесткий, но что вы хотели от тонкой ноутбучной клавиатуры? С непривычки пальцы отобьешь, а тем, кто уже привык, другого и не надо.

Genius KB-19e NB
Особенности: 19 дополнительных кнопок
Интерфейс: PS/2
Подставка под кисти рук: нет
Руководство по эксплуатации: нет
Программное обеспечение: нет
Цена: $17
Genius KB-19e NB — еще одна ноутбучная клавиатура в нашем обзоре. Нажатие клавиш, как и во всех тонких клавиатурах, короткое и жестковатое, со щелчком. Тем не менее KB-19e NB — вещица красивая и, несмотря на отсутствие ножек и подставки под кисти рук, стоит на столе как влитая.
На первый взгляд, дополнительные кнопки расположены в две группы слева и справа от диодов, и тогда непонятен порядок: что делает, например, кнопка паузы плеера рядом с кнопкой вызова почтового клиента. Но если всмотреться, замысел дизайнера сразу становится понятен. На самом деле кнопки расположены в две линии. Сверху — интернет, снизу — мультимедиа.
Если у вас мало места на столе или вы просто привыкли к клавиатурам, которые используют в ноутбуках, то она вам наверняка понравится.

Logitech Internet Navigator Keyboard SE
Особенности: 18 дополнительных кнопок, 12 программируемых, скролл, колесо громкости
Интерфейс: PS/2
Подставка под кисти рук: есть
Руководство по эксплуатации: есть
Программное обеспечение: диск
Цена: $47
Logitech Internet Navigator Keyboard SE сразу удивила нас морем дополнительных фишек: тут тебе и кнопка Shopping, и более нужная Webcam, и кнопка iTouch, при нажатии на которую выскочит учебник по пользованию этой клавиатурой (перед этим вам надо будет поставить софт)! Клавиатура очень заботится о пользователе и может довести до исступления, когда при первом нажатии на любую из дополнительных кнопок ты получаешь табличку с советом, как ей пользоваться и зачем она.
Клавиши у этой модели жестковаты, у них есть небольшой люфт. От этого пальцы устают. А вот подставка удобная, но с ней доска скользит. Под левым большим пальцем находятся две кнопки и скролл. Мультимедиа-группа вполне удобная.
Logitech Internet Navigator Keyboard SE — навороченная и дорогая клавиатура, в меру удобная.

Logitech Internet Keyboard Pro
Особенности: 8 дополнительных кнопок
Интерфейс: PS/2
Подставка под кисти рук: есть
Руководство по эксплуатации: нет
Программное обеспечение: нет
Цена: $14,3
Logitech Internet Keyboard Pro — несложная интернет-клавиатура с минимальным количеством дополнительных клавиш (браузер, почтовик, избранное). Есть и простейшее управление плеером. Работе дополнительные кнопки совсем не мешают, что хорошо.
Клавиши жестковаты, но в работе приятны. Logitech Internet Keyboard Pro можно считать классикой с необременительными дополнениями. Жаль только, что доска разъезжает по столу, как корова по льду. Как выход из ситуации можно посоветовать наклеить несколько резиновых накладок.

SVEN Officemedia 4100
Особенности: 32 дополнительных кнопок, 15 кнопок двойного назначения
Интерфейс: PS/2
Подставка под кисти рук: нет
Руководство по эксплуатации: есть
Программное обеспечение: диск
Цена: $17
SVEN Officemedia 4100 запихали все, что только можно, хотя ее размер при этом весьма компактен. Все дополнительные кнопки маленькие, слева же разместилось целое кнопочное поле. Использовать это чудо без драйверов, конечно, можно, но тогда пропадает смысл всего грандиозного замысла разработчиков: перенести на клавиатуру все возможные функции управления. С помощью Officemedia 4100 можно осуществлять поиск, замену и форматирование заданного текста, проверку правописания, а есть еще Scroll pad, который выполняет функцию прокрутки по четырем направлениям. Главный недостаток клавиатуры — мелковата она для такого количества функций.
Ход клавиш короткий, со щелчком, но промежутки между клавишами очень маленькие, и попавшие туда крошки могут попортить жизнь. Впрочем, это относится ко всем “малышам”. Жаль, что нет подставки под кисти рук, да еще и сама клавиатура довольно легкая и ездит по столу.

SVEN Slim Multimedia Pro 4500
Особенности: 15 дополнительных кнопок
Интерфейс: USB
Подставка под кисти рук: нет
Руководство по эксплуатации: есть
Программное обеспечение: диск
Цена: $15
Дизайн SVEN Slim Multimedia Pro 4500 аккуратный, клавиши стоят кучно. Раскладка у нее далеко ушла от классической.
Интересно выделены три дополнительных группы кнопок — они походят на металлические. Слева, в овальной канавке, расположилось управление интернетом, правда, без стрелок перелистывания, в центре — на темно-серой подложке — похожие на ртутные капельки, находятся кнопки медиацентра, а вот справа — небольшая мешанина из кнопок вызова калькулятора, папки My computer, почтового клиента и режима Sleep. Белая латиница прекрасно видна на клавишах, а вот темно-вишневая кириллица, прямо скажем, не очень.
Ход клавиш короткий, полужесткий, со щелчком, очень похожий на работу клавишной группы SVEN 4100. Slim Multimedia Pro 4500 подойдет людям, привыкшим к ноутбуку, а также тем, у кого на рабочем столе маловато места.

Итоги
Пора и честь знать, подведем итоги нашего обзора. Любителям классики однозначно стоит остановить выбор на высококлассной клавиатуре Cherry G83-6104 — на ней нет каких-либо дополнительных клавиш, зато она сделана по всем канонам и хороша со всех сторон. Фанаты эргономических клавиатур наверняка обратят внимание на продукцию A4Tech — их инновационный дизайн в жизни оказался очень удачным. Безусловно, стоит обратить внимание и на Defender Boomerang S KM-2040. Эта модель клавиатуры наворочена по полной программе. И знаете, что самое интересное? Очень удобно, а это главное.
В следующем номере “Игромании” мы продолжим искать истину в последней инстанции.

CodyCross Расположение клавиш на клавиатуре ответ

Ниже вы найдете CodyCross — ответы на кроссворды. CodyCross, без сомнения, одна из лучших словесных игр, в которые мы играли за последнее время. Новая игра, разработанная Fanatee, которая также известна созданием популярных игр, таких как Letter Zap и Letroca Word Race. Концепция игры очень интересна, так как Коди приземлился на планете Земля и нуждается в вашей помощи, чтобы пройти через раскрытие тайн. Это бросит вызов вашим знаниям и навыкам в решении кроссвордов по-новому. Когда вы найдете новое слово, буквы начнут появляться, чтобы помочь вам найти остальные слова.
Пожалуйста, не забудьте проверить все уровни ниже и попытаться соответствовать вашему правильному уровню. Если вы все еще не можете понять это, пожалуйста, прокомментируйте ниже и постараемся помочь вам.

Клавиатура

Клавиатура (или просто «клава») является одним из старейших инструментов управления компьютером. С ее помощью пользователи вводят в компьютер команды, состоящие из цифр и слов.

Примечание

По-английски клавиатура называется keyboard, что переводится как «кнопочная доска».

Клавиатура очень напоминает обычную печатную машинку, но гораздо более удобна. За время существования компьютеров клавиатуры принципиально не изменились. Появлялись и исчезали отдельные клавиши, некоторые менялись местами, но суть оставалась прежней (рис. 8.1).

Рис. 8.1. Клавиатура. Вид с высоты человеческого роста

На любой современной клавиатуре есть несколько основных групп клавиш. Перечислим их и объясним назначение наиболее важных.

Основную часть клавиатуры занимает группа алфавитно-цифровых и знаковых клавиш. На каждой клавише изображены или буква, или цифра, или какой-нибудь знак (например, сложения). Принцип работы с этими клавишами, казалось бы, прост: нажал клавишу – появляется соответствующая ей закорючка. Однако тут есть свои особенности. На многих клавишах присутствуют изображения нескольких значков (русских и английских букв, цифр). Что именно напечатается при нажатии клавиши? С этим нам поможет разобраться группа служебных клавиш. К ним относятся Shift, Ctrl, Alt, Caps Lock и Num Lock.

При наборе текста на клавиатуре нужно помнить следующие несложные правила.

• Каждая алфавитно-цифровая (или знаковая) клавиша позволяет напечатать четыре варианта букв (знаков). Если это алфавитная клавиша, например

то она дает возможность напечатать большую (прописную) русскую букву «Д», маленькую букву «д», большую латинскую букву L и маленькую l.

• По умолчанию (то есть изначально) клавиатура печатает маленькими (строчными) буквами.

• Если мы хотим набрать прописную букву, то нам поможет клавиша Shift. Нажимаем ее и одновременно (не отпуская) нужную нам клавишу – получаем большую букву. Такое переключение с прописных букв на строчные и наоборот называется изменением регистра. Нижний регистр выдает нам строчные буквы, верхний – прописные.

• Если хотим все время печатать только прописные буквы, то нажимаем клавишу Caps Lock. В правом верхнем углу клавиатуры при этом загорится лампочка (индикатор) Caps Lock (на некоторых клавиатурах лампочки могут располагаться в другом месте). В результате будут набираться только прописные буквы, пока мы снова не нажмем клавишу Caps Lock. Интересно, что если при включенном индикаторе Caps Lock нажать клавишу Shift, то это приведет к противоположному результату – будут получаться строчные буквы.

• Для переключения раскладки клавиатуры используется сочетание служебных клавиш Alt+Shift или Ctrl+Shift. Это означает, что нужно одновременно нажать эти клавиши и отпустить. После этого, если раскладка была русской, то она обязательно станет английской, и наоборот. Ниже мы расскажем, как по-другому переключать язык клавиатуры.

• Некоторые буквенно-знаковые клавиши, например

в русской раскладке клавиатуры выдают нам, как положено, прописную или строчную букву (в данном случае «Х»), а при английской раскладке – другие знаки (здесь – фигурную и квадратную скобки).

Теперь опишем особенности работы с цифровыми и знаковыми клавишами.

• На цифровые клавиши не действует Caps Lock (ведь не бывает прописных и строчных цифр).

• При английской и русской раскладках нижний регистр цифровых клавиш дает одни и те же цифры. И правильно, ведь единица – она и в Англии единица, не говоря уж о двойке или даже тройке.

• При наборе цифро-знаковой клавиши при нажатой клавише Shift набираются различные символы в зависимости от того, какой язык включен. Например, клавиша

в верхнем регистре английской клавиатуры выдает знак $, а в верхнем регистре русской раскладки —;.

• При нажатии некоторых клавиш при любой раскладке набираются одни и те же цифры или знаки. Например, при использовании клавиши

в нижнем регистре вводится знак =, а в верхнем – +.

Следующая группа – служебные клавиши для редактирования:

• Пробел – это самая длинная клавиша на клавиатуре. Как понятно из названия, она вставляет пробелы между символами, словами и предложениями;

• Backspaсe – удаляет символ слева от курсора;

• Delete – удаляет символ справа от курсора;

• Insert – включает режим замены.

Группа специальных содержит следующие клавиши:


• Esc – клавиша отмены последнего действия. Правда, иногда последнее действие нельзя отменить, в таких случаях она не действует;

• Enter (ввод) – эта важная клавиша используется для ввода, подтверждения команды и перехода на новую строку;

• Tab (табуляция) – служит для переключения между задачами или для создания отступа при наборе текста в некоторых программах.

В группу функциональных входят клавиши из верхнего ряда клавиатуры – от F1 до F12. Каждая из них запрограммирована на выполнение конкретной задачи. Причем задача может изменяться в зависимости от того, какую программу вы используете в данный момент. Только клавиша F1 в большинстве программ запускает справочную систему.

К группе клавиш управления курсором относятся стрелки ?, ?, ? и ?, а также следующие клавиши:

• Home – перемещает курсор в начало строки;

• End – в конец строки;

• Page Up – на страницу вверх;

• Page Down – на страницу вниз.

Следующая группа клавиш стоит несколько особняком. Обратите внимание на эту «группу товарищей», образующую прямоугольник в правой части клавиатуры, – это цифровая клавиатура. Если нажата служебная клавиша Num Lock (и горит ее индикатор), то с помощью цифровой клавиатуры можно вводить цифры. Когда Num Lock не нажата, эта группа дублирует действия некоторых клавиш основной части клавиатуры. Кстати, существуют клавиатуры для левшей, где цифровая клавиатура располагается слева. Правда, в магазинах ее встретить пока непросто.

Есть еще вспомогательные клавиши, которые, как и функциональные, выполняют определенные задачи:

• Print Screen – копирует в буфер обмена содержимое экрана (ранее данная клавиша позволяла распечатать на принтере содержимое экрана монитора даже до загрузки операционной системы, это можно было сделать на матричных принтерах, подключенных к порту LPT);

– вызывает главное меню Windows;

– вызывает контекстное меню.

Часто при работе с компьютером используют не отдельную клавишу, а их сочетание. Например, сочетание Ctrl+S в большинстве программ используется для сохранения текущего документа.

Упражнение (у нас ведь обучающая книга)

Найдите на своей клавиатуре все перечисленные группы клавиш.

При всей схожести клавиатур некоторые различия между ними все-таки присутствуют. Самым принципиальным является тип разъема, которым клавиатура подключается к системному блоку. Есть три варианта.

AT-клавиатура. Такие клавиатуры практически исчезли с лица земли, они используются только в старых компьютерах. На современных материнских платах такого разъема вообще нет.

PS/2-клавиатура. Самый распространенный на сегодня вид клавиатур. Все материнские платы имеют два соответствующих разъема (второй для мыши).

USB-клавиатура. Данный тип разъема постепенно вытесняет предшественников. Все больше и больше устройств используют именно его. Клавиатуры не стали исключением, хотя до полного вытеснения PS/2 еще ой как далеко. USB-клавиатуры могут пригодиться, например, для подключения к ноутбуку, у которого отсутствуют разъемы PS/2.

Клавиатуры различаются не только разъемами, но и внешним видом. Условно можно выделить семь различных видов (условно потому, что некоторые из клавиатур относятся сразу к нескольким видам).

Обычная. Ничем не примечательная клавиатура, присутствуют все основные группы клавиш и никаких больше. Раньше таких было большинство. Однако сейчас они пользуются популярностью разве что у людей, не признающих ненужные, по их мнению, «навороты».

Эргономичная. Это загадочное слово приблизительно означает «оптимизированная для удобства человека».[16] У таких клавиатур основное поле клавиш разбито надвое, причем половинки находятся на расстоянии друг от друга, да еще и под углом. Сделано это не для красоты и не для усложнения жизни пользователя (как может показаться после первого применения такой клавиатуры), а для облегчения десятипальцевого метода печати, при котором каждая рука отвечает за свою группу клавиш. Если вы не владеете данным методом, такая клавиатура вам наверняка покажется неудобной.

Компактная. Полная противоположность предыдущего типа. Клавиши на ней расположены близко друг к другу без промежутков. Из-за этого размер клавиатуры значительно меньше (единственный плюс). Она тоже не слишком удобна в работе, но очень приятна при перевозке и смотрится достаточно стильно.

Мультимедийная. Может похвастаться дополнительными клавишами, отвечающими за управление звуковыми параметрами компьютера, такими как регулировка громкости, запуск мультимедийного проигрывателя, переход к следующей или предыдущей записи и т. д.

«Заточенная» под Интернет. Простите, не смогли придумать более простого названия. Ближайшая родственница мультимедийной (часто это даже сиамские близнецы), только дополнительные клавиши у них «заточены» под управление функциями (и программами) Интернета (запустить поиск, получить почту и т. д.). Часто такая клавиатура выполняет и функции мультимедийной.

Двухсторонняя. Эта клавиатура ближе к эргономичным, только предназначена специально для геймеров (так обычно называют фанатов компьютерных игр). Она расширена еще одной группой клавиш управления курсором для удобства играющих. Иногда такие клавиатуры дополнены еще и неким подобием джойстика.

Беспроводная. Это вообще шедевр! К системному блоку подключается не сама клавиатура, а передающий блок. Клавиатура и блок обмениваются сигналами (радио– или инфракрасными), на столе у вас становится на один провод меньше. При этом следует иметь в виду, что инфракрасные клавиатуры должны находиться в зоне прямой «видимости» передающего блока, в то время как радиоклавиатуры дают большую свободу перемещения. Конечно, радиус действия беспроводных клавиатур ограничен (всего 1,5–2 метра), но этого достаточно.

Вы же не пойдете на улицу с клавиатурой, чтобы оттуда печатать текст на компьютере, который остался дома.

Примечание из серии «ух ты!»

Как мы уже писали, некоторые современные клавиатуры относятся сразу к нескольким классам, то есть количество дополнительных клавиш на них просто гигантское. Такая клавиатура выглядит, как пульт управления звездолетом!

На рис. 8.2 показаны некоторые представители описанных выше клавиатур.

Рис. 8.2. Различные виды клавиатур

И еще несколько советов по выбору клавиатуры.

Совет первый. Не слушайте никаких советов. Выбирайте клавиатуру самостоятельно. Она должна быть такой, чтобы вам понравилось с ней работать.

Совет второй. Не покупайте слишком «навороченную» клавиатуру (если это не противоречит первому совету). Клавиатура со встроенными колонками, микрофоном, сканером и тому подобным, как правило, менее удобна в работе и менее надежна.

Совет третий. Не покупайте компактную клавиатуру (опять-таки если это не противоречит первому совету). Хотя если вы часто переезжаете и таскаете с собой компьютер, тогда да…

Это полезно знать

Некоторые пользователи, поменяв компьютер, не желают покупать новую клавиатуру (похвальная преданность). Дело в том, что к клавиатуре пользователь привыкает больше, чем к другим компонентам компьютера (особенно если много печатает). При переходе на новую клавиатуру некоторые долго адаптируются, не попадая по нужным клавишам. Но что делать, если для старой «клавы» нет соответствующего разъема (или он уже занят)? Вопрос решается элементарно: существует большое количество переходников, позволяющих превратить один разъем в другой (например, AT в PS/2). Купите нужный (он стоит около $1) и пользуйтесь любимым устройством.


Win 10: Клавиатура печатает неправильные символы. Как исправить

Будучи периферийной техникой, клавиатура представляет собой довольно надежное устройство. Иногда в силу тех или иных факторов она начинает сбоить. Что же делать, если клавиатура печатает неправильные символы? Попытаемся разобраться в причинах проблемы и как от нее избавиться.

  • Причины, по которым клавиатура перестает корректно работать.
  • Способы исправления неполадки.

Причины, по которым клавиатура перестает корректно работать

Некорректная работа выражается в замене одного символа другим. Положим, вы печатает букву Ж, но вместо этого получаете Ы в окне Офиса или строке поиска в браузере.

Потенциально, сбой связан со следующими факторами:

  • Отсутствие последних обновлений ОСи.
  • Неправильные настройки языка.
  • Настройка Автокоррекции.
  • Активный НумЛок.
  • Баги в драйверах.

Способы исправления неполадки

Пройдемся по самым популярным методам починки сбоя в работе киборда:

  • Обновление Windows.
  • Проверка языковых настроек.
  • Проверка Автокорректа.
  • Отключение NumLock.
  • Запуск keyboard troubleshooter.
  • Сканирование системы на наличие вирусов.
  • Переустановка драйверов.

Обновление Windows

Первым делом необходимо убедиться, что причина бага не связана с устаревшими драйверами системы.

  • Откройте Settings.
  • Зайдите в Обновления и Безопасность.
  • Проверьте системы на наличие апдейтов.
  • Перезагрузите компьютер и проверьте осталась ли проблема.

Проверка языковых настроек

Сбой в языковых сеттингах иногда оказывается фактором неверно работающего киборда.

Для исправления выполните следующие шаги:

  • Запустите Панель Управления, перейдите в Clock, Language & Region.
  • Перейдите в Language, затем Advanced Settings.
  • Найдите Override on Default Input Method, воспользуйтесь выпадающим меню и выберите желаемый язык.

Установите этот же язык в разделе Override for windows display language и нажмите ok.

Проверка Автокорректа

Если изменение настроек языка не помогло, убедитесь в правильности сеттинга Автокорректора. Данный метод подходит тем, у кого баг неправильных букв появляется лишь в Word’e.

  • Запустите Ворд, перейдите в Файл, затем в Опции.
  • Перейдите в Проверку, следом в Опции Автокорректировки.
  • Убедитесь, что в опциях нет предустановленных букв и цифр, заменяющих одни другими. В случае их присутствия удалите запись об автозамене.

Отключение NumLock

Иногда проблема кроется не в в самом устройстве, а во включенном НумЛоке. Для исправления ситуации достаточно нажать Num Lock key и проверить, все ли заработало.

Запуск keyboard troubleshooter

В Виндоус 10 присутствует функция помощника, при неполадках в работе периферийных и не только устройств. При возникновении бага выполните следующее:

  • Зайдите в Settings.
  • Перейдите в Обновление и Безопасность.
  • Откройте Средство устранения неполадок. Прокрутите вниз и найдите keyboard troubleshooter.
  • Запустите утилиту.
  • Дождитесь окончания сканирования и выполните инструкции, которые выдаст вам программа.
  • Перезагрузите компьютер и проверьте, все ли работает.

Сканирование системы на наличие вирусов

Иногда киборд перестает правильно печатать буквы в связи с заражением системы.

Используйте антивирус на предмет глубокого сканирования и удаления вредоносных вирусов.

Переустановка драйверов

Если баг скрывается в неполадках внутри драйверов, выполните следующие шаги:

  • Запустите Старт меню.
  • Напечатайте Device Manager. Откройте утилиту.
  • Найдите Keyboards. Правой кнопкой мыши нажмите на них и выберите Удалить.
  • Перезагрузите ОС без переустановки драйверов. Система должна сама их переустановить.

Если все вышеописанные методы не помогли, вероятно повреждено что-то в самом устройстве и следует приобрести новую клавиатуру.

Илон Маск рекомендует:  Какую электронную книгу выбрать Советы профессионала!
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL