It is incredibly annoying to me that my mouse wakes the computer when I barely touch it. If I want my PC to turn on, I press the Super key.

I find very hacky scripts online, I tried some but they didn’t work. How did you disable it?

This option is missing from settings.

  • MyNameIsRichard@lemmy.ml
    link
    fedilink
    arrow-up
    17
    ·
    11 months ago

    I created a systemd service by putting the following in /etc/systemd/system/disable-mouse-wakeup.service

    
    [Unit]
    Description=Disable Mouse wakeup triggers
    
    [Service]
    Type=oneshot
    ExecStart=/bin/sh -c "echo XHC0 > /proc/acpi/wakeup"
    ExecStop=/bin/sh -c "echo XHC0 > /proc/acpi/wakeup"
    RemainAfterExit=yes
    
    [Install] 
    WantedBy=multi-user.target
    

    Then I ran sudo systemctl enable --now disable-mouse-wakeup

    It works perfectly on my AMD machine.

    • Papamousse@beehaw.org
      link
      fedilink
      arrow-up
      3
      ·
      11 months ago

      On mine it was playing with some /sys/bus/usb/devices/1-4/power/wakeup or something, (use the right device number from lsusb), also there is some settings in the BIOS to power or not USB when sleeping, obviously if some USB port have no power, wakeup cannot work :) Every setup/BIOS is kinda different though.

      And I have had the same problem as OP with just knocking the desk and the computer wakes up and it is annoying!

      My latest trackball I switched it to Bluetooth mode so when PC is sleeping, no BT at all.

      • fuckwit_mcbumcrumble@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        11 months ago

        What system do you have? Laptop or desktop, if laptop which one, if desktop which mobo do you have? Check your bios for any sleep options, specifically S0 vs S3 standby.

        S0 standby vs S3 standby can change things a lot. If you’re in S3 standby then it’s up to your bios/firmware to handle waking from sleep. If you’re in S0 standby then your OS is in control.

      • MyNameIsRichard@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        11 months ago

        Run cat /proc/acpi/wakeup and try some of the other devices instead of XHC0 if they are enabled

        Edit: Remember to run sudo systemctl stop disable-mouse-wakeup to reset them if it doesn’t work

        • GravitySpoiled@lemmy.mlOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          11 months ago

          Unfortunately, disabling the devices doesn’t work.

          RP01	  S4	*enabled   pci:0000:00:1c.0
          RP05	  S4	*enabled   pci:0000:00:1c.4
          RP06	  S4	*enabled   pci:0000:00:1c.5
          LID0	  S3	*enabled   platform:PNP0C0D:00
          PBTN	  S3	*enabled   platform:PNP0C0C:00
          

          I had this device earlier but I disabled it with your systemctl service earlier and although I stopped the service, it didn’t come back. Probably, it’s back on next reboot. XHC S0 *enabled pci:0000:00:14.0

          I didn’t test LID0 or Powerbutton.

          • Red@reddthat.com
            link
            fedilink
            English
            arrow-up
            4
            ·
            11 months ago

            Those wakelock devices map to specific devices. If you run lsusb you will see the pci:0000:00:1c.4 and others.

            • Find the one that your mouse is.
            • Do the echo command into that device RP05.
            • Confirm it’s disabled.
            • suspend & then try moving the mouse
            • if it works edit the systemd script with the correct echo command
            • make sure you make the service Enabled (otherwise it won’t start on boot)
            • reboot and confirm it’s still disabled.

            That should be what is needed to disable waking up from the mouse.