FAQ FreeBSD
Страница 17. Клавиатура и мышь. Часть 3


2.14. Похоже, что моя мышь не работает. Её курсор прыгает по экрану. Мышь имеет колёсико и подключено к порту мыши PS/2.

В драйвере psm для мыши PS/2 во FreeBSD версий 3.2 и ранее имеются проблемы при
работе с некоторыми мышками, у которых есть колёсико, в том числе с мышками
Logitech модель M-S48 и их OEM-разновидностями. Исправьте файл /sys/i386/isa/
psm.c с помощью следующего патча и перестройте ядро.
    Index: psm.c
    ===================================================================
    RCS file: /src/CVS/src/sys/i386/isa/Attic/psm.c,v
    retrieving revision 1.60.2.1
    retrieving revision 1.60.2.2
    diff -u -r1.60.2.1 -r1.60.2.2
    --- psm.c      1999/06/03 12:41:13     1.60.2.1
    +++ psm.c      1999/07/12 13:40:52     1.60.2.2
    @@ -959,14 +959,28 @@
         sc->mode.packetsize = vendortype[i].packetsize;
         /* set mouse parameters */
    +#if 0
    +    /*
    +     * A version of Logitech FirstMouse+ won't report wheel movement,
    +     * if SET_DEFAULTS is sent...  Don't use this command.
    +     * This fix was found by Takashi Nishida.
    +     */
         i = send_aux_command(sc->kbdc, PSMC_SET_DEFAULTS);
         if (verbose >= 2)
           printf("psm%d: SET_DEFAULTS return code:%04x\n", unit, i);
    +#endif
         if (sc->config & PSM_CONFIG_RESOLUTION) {
             sc->mode.resolution
               = set_mouse_resolution(sc->kbdc,
    -              (sc->config & PSM_CONFIG_RESOLUTION) - 1);
    +                                 (sc->config & PSM_CONFIG_RESOLUTION) - 1);
    +    } else if (sc->mode.resolution >= 0) {
    +      sc->mode.resolution
    +          = set_mouse_resolution(sc->kbdc, sc->dflt_mode.resolution);
    +    }
    +    if (sc->mode.rate > 0) {
    +      sc->mode.rate = set_mouse_sampling_rate(sc->kbdc, sc->dflt_mode.rate);
         }
    +    set_mouse_scaling(sc->kbdc, 1);
         /* request a data packet and extract sync. bits */
         if (get_mouse_status(sc->kbdc, stat, 1, 3) < 3) {
Версии FreeBSD выше чем 3.2 должны работать нормально.

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

Посмотрите один из предыдущих разделов. И посмотрите это замечание на странице
о мобильных вычислениях.

 
« Предыдущая статья