4.5. Клавиатуры и мыши

4.5.1. Поддерживает ли FreeBSD USB клавиатуры?
4.5.2. У меня необычная мышь типа bus mouse. Как её настроить?
4.5.3. Как использовать мышь PS/2 (типа ''mouse port'' или ''keyboard'')?
4.5.4. Можно ли каким-либо образом использовать мышь, кроме X Window?
4.5.5. Как можно вырезать и копировать текст с помощью мыши в текстовой консоли?
4.5.6. У моей мыши есть дополнительные колёсико и кнопочки. Можно ли их использовать во FreeBSD?
4.5.7. Как использовать мышь/трэкболл/сенсорную панель на лэптопе?
4.5.8. Как использовать клавишу delete в sh и csh?

4.5.1. Поддерживает ли FreeBSD USB клавиатуры?

FreeBSD имеет встроенную поддержку клавиатур USB. После включения поддержки USB-клавиатуры в системе AT-клавиатуре будет соответствовать /dev/kbd0, а клавиатуре USB /dev/kbd1, если они обе подключены к системе. Если присутствует только клавиатура USB, ей будет соответствовать /dev/ukbd0.

Если вы хотите использовать клавиатуру USB на консоли, вы должны явно указать драйверу консоли на использование имеющейся клавиатуры USB. Это может быть сделано в процессе инициализации системы следующей командой.

# kbdcontrol -k /dev/kbd1 < /dev/console > /dev/null

Заметьте, что если клавиатура USB является единственной присутствующей, она доступна как /dev/ukbd0, и поэтому команда должна выглядеть примерно так:

# kbdcontrol -k /dev/ukbd0 < /dev/console > /dev/null

Замечание: Чтобы сохранить это изменение, добавьте в /etc/rc.conf строку keyboard="/dev/ukbd0".

Как только вы всё это сделаете, клавиатура USB будет работать и в X-окружении без каких-либо особых настроек.

Если вам нужно переключиться обратно на клавиатуру, используемую по умолчанию, выполните такую команду:

# kbdcontrol -k /dev/kbd0 > /dev/null

Для одновременной работы второй USB клавиатуры и первой AT клавиатуры в консоли через драйвер kbdmux(4), наберите следующие команды:

# kbdcontrol -K < /dev/console > /dev/null
# kbdcontrol -a atkbd0 < /dev/kbdmux0 > /dev/null
# kbdcontrol -a ukbd1 < /dev/kbdmux0 > /dev/null
# kbdcontrol -k /dev/kbdmux0 < /dev/console > /dev/null

За дополнительной информацией обратитесь к страницам справочной системы ukbd(4), kbdcontrol(1) и kbdmux(4).

Замечание: Выключение и включение USB-клавиатуры на ходу может ещё не работать совершенно корректно. Во избежание неприятностей мы рекомендуем подключить клавиатуру перед запуском системы и не отключать её до завершения работы системы.

4.5.2. У меня необычная мышь типа bus mouse. Как её настроить?

FreeBSD поддерживает мыши типов bus mouse и InPort bus mouse от таких производителей, как Microsoft, Logitech и ATI. В ядре GENERIC драйвера таких устройств нет. Для построения специального ядра с драйвером такой мыши, добавьте в конфигурационный файл ядра следующую строку:

device mse0 at isa? port 0x23c irq5

Мыши типа bus mouse обычно поставляются с отдельными интерфейсными адаптерами. Они позволяют установить адрес порта ввода/вывода и номер IRQ, отличающиеся от приведённых выше. Для получения дополнительной информации обратитесь к документации по вашей мыши и странице Справочника mse(4).

4.5.3. Как использовать мышь PS/2 (типа ''mouse port'' или ''keyboard'')?

Мышь PS/2 системой поддерживается. Необходимый драйвер устройства, psm, включён в ядро GENERIC.

Если в вашем ядре его нет, то добавьте следующую строку в файл конфигурации ядра и постройте новое ядро.

device psm0 at atkbdc? irq 12

После того, как ядро правильно обнаружило устройство psm0 во время загрузки, файл устройства для psm0 будет создан автоматически.

4.5.4. Можно ли каким-либо образом использовать мышь, кроме X Window?

Если вы используете стандартный драйвер консоли, syscons(4), то можете использовать указатель мыши в текстовых консолях для выделения и переноса текста. Запустите демон мыши, moused(8), и включите отображение указателя мыши на виртуальной консоли:

# moused -p /dev/xxxx -t yyyy
# vidcontrol -m on

Здесь xxxx - это имя устройства мыши, а yyyy - тип протокола, используемого мышью. Даемон мыши может автоматически определять тип протокола большинства мышей, за исключением старых, работающих по последовательному интерфейсу. Для выполнения автоматического определения в качестве протокола укажите auto. Если автоматическое определение не работает, то обратитесь к справочным страницам по moused(8) для получения списка поддерживаемых типов протоколов.

Если у вас мышь типа PS/2, просто добавьте строчку moused_enable="YES" в файл /etc/rc.conf для запуска даемона мыши во время загрузки системы. Кроме того, если вы хотите использовать даемон мыши во всех виртуальных терминалах, а не только на консоли, добавьте allscreens_flags="-m on" в файле /etc/rc.conf.

После запуска даемона мыши, доступ к мыши должен согласовываться между даемоном мыши и другими программами типа X Window. Обратитесь к вопросу из FAQ Почему моя мышь не работает с X? для получения более полной информации по этому вопросу.

4.5.5. Как можно вырезать и копировать текст с помощью мыши в текстовой консоли?

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

Если у вашей мыши отсутствует средняя кнопка, вы можете её сэмулировать или переназначить кнопки опциями даемона мыши. Обратитесь к справочным страницам по moused(8) для получения полной информации.

4.5.6. У моей мыши есть дополнительные колёсико и кнопочки. Можно ли их использовать во FreeBSD?

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

Возможные способы использования колёсиков мыши при работе в X Window описаны в другом разделе.

4.5.7. Как использовать мышь/трэкболл/сенсорную панель на лэптопе?

4.5.8. Как использовать клавишу delete в sh и csh?

Для Bourne Shell добавьте следующие строки в ваш .shrc. Смотрите sh(1) и editrc(5).

bind ^? ed-delete-next-char # для консоли
bind ^[[3~ ed-delete-next-char # для xterm

Для C Shell добавьте следующие строки в ваш .cshrc. Смотрите csh(1).

bindkey ^? delete-char # для консоли
bindkey ^[[3~ delete-char # для xterm

За дополнительной информацией обращайтесь к этой странице.

Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам, связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.