NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: NetBSD 9.1 amd64 base X11: hypersensitive touchpad



mayuresh%acm.org@localhost (Mayuresh) writes:

>On Sun, Apr 11, 2021 at 08:15:03PM +0200, Martin Husemann wrote:
>> 	grep '^pms' /var/run/dmesg.boot

>pms0 at pckbc2 (aux slot)
>wsmouse0 at pms0 mux 0

>But the following line in the kernel config is enabled. How is it supposed
>to play a role? The name Synaptics comes only on 'options' line and not
>like a device line (e.g. like 'wsmouse*    at pms? mux 0').

>options     PMS_SYNAPTICS_TOUCHPAD  # Enable support for Synaptics Touchpads

It's a compile-time option for the pms driver to include code that
handles Synaptics Touchpads.

There is:

defflag opt_pms.h                       PMS_SYNAPTICS_TOUCHPAD
defflag opt_pms.h                       PMS_ELANTECH_TOUCHPAD
defflag opt_pms.h                       PMS_ALPS_TOUCHPAD

and

file    dev/pckbport/synaptics.c        pms & pms_synaptics_touchpad
file    dev/pckbport/elantech.c         pms & pms_elantech_touchpad
file    dev/pckbport/alps.c             pms & pms_alps_touchpad

in the included files.pckbport config file. The upper case defflags
are used as lower case condition names to optionally include source
files.

opt_pms.h is created by the config program and includes definitions
for the flags that are enabled by the option statement. E.g.

#define PMS_SYNAPTICS_TOUCHPAD  1
#ifdef _LOCORE
 .ifndef _KERNEL_OPT_PMS_SYNAPTICS_TOUCHPAD
 .global _KERNEL_OPT_PMS_SYNAPTICS_TOUCHPAD
 .equiv _KERNEL_OPT_PMS_SYNAPTICS_TOUCHPAD,0x1
 .endif
#else
__asm(" .ifndef _KERNEL_OPT_PMS_SYNAPTICS_TOUCHPAD\n .global _KERNEL_OPT_PMS_SYNAPTICS_TOUCHPAD\n .equiv _KERNEL_OPT_PMS_SYNAPTICS_TOUCHPAD,0x1\n .endif");
#endif

C code can just use the macro PMS_SYNAPTICS_TOUCHPAD, assembler code
can evaluate the global symbol _KERNEL_OPT_PMS_SYNAPTICS_TOUCHPAD.



Home | Main Index | Thread Index | Old Index