«Д» — значит «Домашняя»
Вступление

Если вы пролили чай на свою любимую клавиатуру, если младший брат решил поиграть вашей мышью и утопил её в ванной - это не повод чтобы отказываться от удовольствия игры в любимый Quake! На помощь Вам придёт мануал от "ДЦП Лабс" Выживание в экстремальных ситуациях.

Как играть в Quake без мыши и клавиатуры

Итак что делать нашему гипотетическому квакеру чтобы не склеить ласты от скуки без любимой гамы? Ответ невероятно прост и логичен. Конечно, нынешнее поколение вылупившееся из кабачковой икры хрен допрёт что нужно делать, поэтому это руководство и является таким ценным.

Первое что нужно, это какой-нибудь сканер штрих-кодов (Как, у Вас нет сканера штрих-кодов?). Нам подойдёт самый обычный сканер например ccd-80s. Этот сканер является оптимальным в соотношении цена-производительность, поэтому так полюбился владельцам магазинов и магазинчиков. Выглядит это чудо так, как показано на фотографии слева. Для Квакера сканер так же вполне пригоден: удобно ложится в руку, кнопка scan Сканер штрих-кодов ccd-80sнаходится в удобном для нажимания месте. Кнопка резиновая - палец не соскакивает. В общем потянет. Тут нужно сказать, что сканер этот штука довольно продвинутая, то есть сделан на славу. Из чего следует, что пользоваться им довольно просто, и подключить к компьютеру ничего не стоит. Сканер просто подключается между компьютером и клавиатурой. То есть включаем сканер в разём для клавиатуры, а саму клаву в шнур сканера. Сканер не требует драйверов или какого-либо дополнительного программного обеспечения. По включении компьютера сканер уже работает. Смысл простой: При считывании с наклейки штрих-кода, сканер эмулирует нажатие этих клавиш на клавиатуре. Это значит что сканер можно использовать в любых приложениях, где используется ввод текста с клавиатуры. Конечно, нажатие стрелок сэмулировать не удастся так как это не печатные символы.

Технические характеристики

Немного о технических характеристиках сканера: Ручной сканер, ширина считывания 80 мм, выдерживает падение с высоты 1,7 м., бесконтактное считывание с расстояния до 30 мм, универсальный декодер с интерфейсом RS-232 и “разрыв клавиатуры”, вес без кабеля 115 гр, расширенные возможности программирования.
Алгоритм чтения стандартный декодер
Питание DC 5V + 10%
Читаемые коды UPC/EAN/JAN and Add-on 2/5, Code 39, Code 128, Codabar, ISBN, ISSN, China Postage, ITF 2/5, MTX 2/5, IND 2/5
Глубина поля 0 ~ 30 mm
Разрешение >=0.127 mm
Приёмник сигнала ПЗС приемник штрих-кодов
Индикатор чтения Звуковой сигнал. Красный светодиод
Интерфейс В разрыв клавиатуры, RS-232
Разъем DIN-5P/Mini DIN-6P/DSub-9P/AMP-9P (For WAND only)
Как вся эта хрень подключается


Программное обеспечение

Что нам нужно дальше? А всё просто! Вспоминаем что в кваке можно забиндить события на любую клавишу. Следственно эти клавиши нам и нужно считывать с сканером с наклейки. Ах да! Нам ещё понадобятся наклейки с клавишами. То есть со штрих-кодами клавиш. Тут особых проблем возникнуть не должно, где сканер там и принтер на котором печатаются штрих-коды с необходимым ПО. Я для печать использовал принтер TLP 2742PSE производства Zebra Technologies Corporation. Печать наклеек производилась с помощью программы LabelView XLT+ Как она выглядит, видно на скриншоте ниже.

Печать штрих-кодов в программе LabelView XLT+

На скриншоте - конструктор наклейки. Когда шаблон наклейки будет готов, можно приступать к печати. Нажимаем кнопку "Печать" и появляется окно-форма в которую мы вводим данные нашей наклейки. Непосредственно окно печати выглядит так:


Что тут к чему я пояснять не буду. Во первых нам это не нужно, я же не ПО продаю, а во вторых и так всё понятно.
При создании шаблона мы указали два заполняемых пользователем поля: Action и Key. Первый нам нужен только для информации, что это за наклейка, тут можно вписать что угодно. Jump, Attack, LookUp. Второе поле - это клавиша которая должна быть нажата для произведения действия. Когда Вы будете готовы к печати наклеек, по моим примерным подсчётам, Вам придётся напечатать их четырнадцать штук. И реализовывать они будут вот такие функции:
attack a Готовые штрих-коды
Вот так выглядят
готовые штрих-коды.
Сканы раз и два
jump j
forward f
back b
strafe left l
strafe right r
roll left o
roll right p
roll up u
roll down d
stopall s
weapnext n
stop z
stroll x
Тут нужно обратить внимание на то, что баркод одной буквы (как у нас) состоит всего из одной буквы, а это всего 15 полосок на наклейке (для буквы А например) А это не смотрится, вопрос эстетики :) Поэтому для того чтобы баркод был широким и красивым, справа от буквы мы впишем несколько пробелов. На самом деле в поле Key мы вводим что-то вроде "А    "

Настройка Quake

Игры от ID Software всегда были выполнены качественно, и вносили в жанр 3D стрелялок какие-то новые фишки, которые потом подхватывали другие производители, собственно жанр обязан им своим существованием. Одна из фишек - использование alias'ов, макрокоманд Quake. Конечно, не они первые придумали макрокоманды, но в стрелялках, если я не ошибаюсь, они встречаются впервые. Что это такое я рассказывать не буду, Вы это и так должны знать. Я просто покажу Вам как это можно применить в нашем случае. Клавиши которые мы закатали на наклейки будут управляющими в Quake, на них нужно просто "забиндить" нужные нам функции. И если на некоторые из них можно забиндить стандартные функции Quake например:

bind j +jump

То на другие нам придётся биндить собственные алиасы, и я приведу Вам пример конфигурационного файла с готовыми алиасами.

exec default.cfg
unbindall

gamma .7
clear
echo "BAR-Code config"

bind ` toggleconsole

bind ins "exec dcp.cfg"

// Простые бинды
bind a +attack
bind j +jump
bind n "impulse 10" // WeapNext

// Алиас остановки

alias stop_all "-forward;-back;-right;-left;-moveleft;-moveright;-lookup;-lookdown"
bind s stop_all

alias stop_move "-forward;-back;-moveleft;-moveright"
bind z stop_move

alias stop_look "-right;-left;-lookup;-lookdown"
bind x stop_all

// Вперёд - назад

alias ff "stop_all; +forward"
bind f ff

alias bb "stop_all; +back"
bind b bb

// Крутимся лево - право

alias ll "stop_all; +left"
bind o ll

alias rr "stop_all; +right"
bind p rr

// Стрейф лево - право

alias ml "stop_all; +moveleft"
bind l ml

alias mr "stop_all; +moveright"
bind r mr

// Смотрим вверх - вниз

alias lup "stop_all; +lookup"
bind u lup

alias ldown "stop_all; +lookdown"
bind d ldown

Скачать файл: dcp.cfg
Вот и всё! Файл нужно поместить в директорию ID1. Затем загрузив Quake в консоли набрать exec dcp.cfg Теперь считывая с наклеек штрих-коды Вы будете как бы нажимать на клавиши клавиатуры и двигаться. Приятной игры!

© 2002 ДЦП-Labs и ГраблиSoftWare
Гипотетический квакер
Для тех кто в танке: это шутка. Не нужно в ICQ заводить со мной споры о том, что на мыши играть удобней. Я играю с помощью мыши Logitech MX500.