How can I stop touchpad?

I installed nightly build into my laptop. My laptop has a both of touchpad and mouse. Now mouse cursor is moved by a both of touchpad and mouse, but I want only mouse. How can I stop touchpad?

1 Like

Can you disable the touchpad in BIOS?

2 Likes

You can try to blacklist the driver of the touchpad, if you know them:

How To Permanently Blacklist a Package File | Haiku Project

I never try this, but you can do this with other drivers, better packages of drivers, too. Plese correct me if i am false.

1 Like

@christech
Thanks for your advice. It works fine :slight_smile:
But If possible, I want a solution like `synclient TouchpadOff=1’ :wink:

Which driver should I put into blacklist?

~> listimage |egrep driver
egrep: warning: egrep is obsolescent; using grep -E
  123 0xffffffff81e2e000 0xffffffff81e36000     0          0 /boot/system/add-ons/kernel/drivers/disk/virtual/ram_disk
  136 0xffffffff82112000 0xffffffff82113000     0          0 /boot/system/add-ons/kernel/drivers/dev/zero
  138 0xffffffff820fe000 0xffffffff82101000     0          0 /boot/system/add-ons/kernel/drivers/dev/tty
  140 0xffffffff82114000 0xffffffff82115000     0          0 /boot/system/add-ons/kernel/drivers/dev/null
  141 0xffffffff81a53000 0xffffffff81a54000     0          0 /boot/system/add-ons/kernel/drivers/dev/dprintf
  142 0xffffffff81dff000 0xffffffff81e01000     0          0 /boot/system/add-ons/kernel/drivers/dev/console
  454 0xffffffff81e04000 0xffffffff81e06000     0          0 /boot/system/add-ons/kernel/drivers/power/acpi_button
 1130 0xffffffff81e07000 0xffffffff81e09000     0          0 /boot/system/add-ons/kernel/drivers/sensor/acpi_als
 1175 0xffffffff81e39000 0xffffffff81e3c000     0          0 /boot/system/add-ons/kernel/drivers/power/acpi_battery
 3087 0xffffffff81e3d000 0xffffffff81e3f000     0          0 /boot/system/add-ons/kernel/drivers/power/acpi_thermal
 3890 0xffffffff81f2c000 0xffffffff81fde000     0          0 /boot/system/add-ons/kernel/drivers/dev/net/realtekwifi
 4684 0xffffffff821e0000 0xffffffff8225f000     0          0 /boot/system/add-ons/kernel/drivers/dev/net/ipro1000
 4792 0xffffffff82094000 0xffffffff8209f000     0          0 /boot/system/add-ons/kernel/drivers/dev/graphics/intel_extreme
 4800 0xffffffff820a6000 0xffffffff820ac000     0          0 /boot/system/add-ons/kernel/drivers/dev/graphics/vesa
 4933 0xffffffff817be000 0xffffffff817cf000     0          0 /boot/system/add-ons/kernel/drivers/dev/input/usb_hid
 5162 0xffffffff81a4b000 0xffffffff81a4e000     0          0 /boot/system/add-ons/kernel/drivers/dev/bus/usb_raw
 5314 0xffffffff8187f000 0xffffffff8188d000     0          0 /boot/system/add-ons/kernel/drivers/dev/audio/hmulti/hda
 5387 0xffffffff81a6e000 0xffffffff81a6f000     0          0 /boot/system/add-ons/kernel/drivers/dev/oss/oss_loader
TEAM  926 (/bin/grep -E --color=auto driver):
~>

Try disabling (move all the way to the left) “tapping sensitivity” in Input preferences, IIRC @humdinger gave that as a tip a long time ago to me (and others).

1 Like

@Begasus
There are only “AT Keyboard 1” and “PS/2 Mouse 1” and “USB Mouse 1” in Input preference. No “tapping sensitivity” :frowning:

Thanks.

No “touchpad”?

1 Like

Perhaps it is not wired as PS/2 device and so not fully seen as a touchpad?

1 Like

Even if it’s ps/2, the driver may not recognize it as any particular touchpad type, and use it in mouse compatibility mode. In that case there are no specifio settings in input preferences.

1 Like

Tell the input server to stop it. Compile this little program:

#include <Message.h>
#include <Messenger.h>

#include <stdio.h>


// From headers/private/input/InputServerTypes.h
#define IS_START_DEVICE					'Istd'
#define IS_STOP_DEVICE                                    'Ispd'

// From src/servers/input/InputServer.h
#define INPUTSERVER_SIGNATURE "application/x-vnd.Be-input_server"

#define CHECK(x) if (x != B_OK) { puts(strerror(x)); return 2; }


int main(int argc, char** argv) {
	if (argc != 3)
		return 1;

	status_t err;
	BMessage command(strcmp(argv[2], "stop") ? IS_START_DEVICE : IS_STOP_DEVICE);
	err = command.AddString("device", argv[1]);
	CHECK(err);

	BMessenger inputServer(INPUTSERVER_SIGNATURE, -1, &err);
	CHECK(err);

	BMessage reply;
	err = inputServer.SendMessage(&command, &reply, 5000000LL, 5000000LL);
	CHECK(err);

	status_t err2 = reply.FindInt32("status", &err);
	CHECK(err2);
	CHECK(err);

	return 0;
}

And run it as ./whatever 'PS/2 Mouse 1' stop. You can change ‘stop’ for ‘start’ to resurrect it.

2 Likes

Or use iroster from Making sure you're not a bot!

2 Likes

@madmax

~> cc -o cntltp cntltp.c
In file included from cntltp.c:1:
/boot/system/develop/headers/os/app/Message.h:12:10: fatal error: new: No such file or directory
   12 | #include <new>
      |          ^~~~~
compilation terminated.

But /boot/system/develop/headers/os/app/Message.h is readonly :frowning:
I can’t remove this line…

I noticed that “PS/2 Mouse 1” is a driver for my touchpad. So moving all the way to the left of “PS/2 Mouse 1” in Input preferences makes touchpad almost stopped. but it don’t stop perfectly.

@korli
Thanks for your information! next command has stopped touchpad perfectly :slight_smile:

/bin/iroster -"PS/2 Mouse 1"

And I have put ‘/bin/iroster -“PS/2 Mouse 1”’ into ~/config/settings/boot/UserBootscript, but it didn’t work :frowning:

Something wrong with me?

I found an ad-hoc solution :stuck_out_tongue:

(sleep 20; /bin/iroster -"PS/2 Mouse 1") &

But I don’t think this is a best way :thinking:

You are probably missing the gcc_syslibs_devel package that contains this file.

Removing the line would just break somewhere further down Message.h

pkgman install gcc_syslibs_devel
1 Like

@PulkoMandy
Thanks for your response. But is this line correct?

#include <new>

I feel strange about include file name “new” which have no extention “.h” :thinking:

You can include any file. new is a C++ header. Either compile with c++ instead of cc or change the source extension to cpp. Or use whatever flag is needed to force C++. You’ll also need -lbe to link to libbe.

But you’d better forget my dirty program and just use iroster, which I didn’t find before writing that.

1 Like