keyboard – Ghost key presses in Dell laptop

I am using a Dell laptop with Windows and Ubuntu 18 dual-boot. Recently I have an annoying problem with my laptop, ghost keypresses. If I’m reading an article or a long mail or reading a PDF file, the page will scroll down automatically after 10-15 seconds of idle.
The problem is there on Ubuntu and Windows in both Chrome and Firefox. The issue is probably caused by an automatic keypress triggered by the presence of dust. However, I could not identify which key is being triggered.
We have several possible keys,

  1. The four arrow keys ( ) on the keyboard
  2. The tiny joystick on the keyboard ( the small button between G, H and B keys )
  3. The trackpad
  4. The buttons of the trackpad

How can I find what is causing this? and how to fix this?

drivers – Touchpad detected as “PS/2 Logitech wheel mouse” (Dell XPS 15, Ubuntu 20.04)

My Dell XPS 15 (9500) detects its touchpad as a “PS/2 Logitech Wheel Mouse,” so touchpad options don’t appear in the settings in the default Ubuntu desktop environment, nor in KDE’s Plasma (which I usually use). The touchpad does work, but I can’t use it to scroll or enable other gestures, and I can’t disable tap-to-click, or disable it while typing (a big deal, because Dell made this touchpad aggressively large).

My situation might be a little unique because when I first installed Ubuntu, touchpad support worked out of the box and the options worked perfectly. Unfortunately the touchpad had a known hardware defect (referred to as “wobble”) and a tech visited for a warranty replacement. The replacement touchpad lacks the hardware defect, but is likely a new model with different driver support. (In my dmesg logs, the old touchpad showed up as an elantech.)

When I run xlibinput list I see this:

$ xinput list               
⎡ Virtual core pointer                          id=2    (master pointer  (3))
⎜   ↳ Virtual core XTEST pointer                id=4    (slave  pointer  (2))
⎜   ↳ PS/2 Logitech Wheel Mouse                 id=15   (slave  pointer  (2))
⎣ Virtual core keyboard                         id=3    (master keyboard (2))
    ↳ Virtual core XTEST keyboard               id=5    (slave  keyboard (3))
    ↳ Video Bus                                 id=6    (slave  keyboard (3))
    ↳ Video Bus                                 id=7    (slave  keyboard (3))
    ↳ Power Button                              id=8    (slave  keyboard (3))
    ↳ Integrated_Webcam_HD: Integrate           id=9    (slave  keyboard (3))
    ↳ Integrated_Webcam_HD: Integrate           id=10   (slave  keyboard (3))
    ↳ Intel HID events                          id=11   (slave  keyboard (3))
    ↳ Intel HID 5 button array                  id=12   (slave  keyboard (3))
    ↳ Dell WMI hotkeys                          id=13   (slave  keyboard (3))
    ↳ AT Translated Set 2 keyboard              id=14   (slave  keyboard (3))

So the only pointer device is the Logitech (and I don’t have an external mouse attached). When I run sudo libinput debug-events, that mouse device is event3:

-event3   DEVICE_ADDED     PS/2 Logitech Wheel Mouse         seat0 default group10 cap:p left scroll-nat scroll-button

Moving my finger across the mousepad creates lots of lines like this:

 event3   POINTER_MOTION   +5.729s        0.62/ -0.31 ( +2.00/ -1.00)

That confirms that the PS/2 Logitech Wheel Mouse is actually my new touchpad.

Things I’ve done so far
I’ve spent hours on this and tried many, many combinations of solutions, including advice from other distros and from elsewhere on this site. But here’s an abdridged list:

  1. Checked the BIOS. There are no touchpad-specific settings there.
  2. Tried a bootable USB stick. I used the Ubuntu 20.04 one, as well as the release candidate 21.04. Neither correctly recognized my touchpad while running from the guest OS. Behavior was the same.
  3. Installed a mainline kernel. I tried both a 5.11.12 and a 5.12.0 release candidate (the current version is a 5.8.0). No change.
  4. Installed xserver-xorg-input-synaptics.
  5. Tweaked boot options in /etc/default/grub. Here is what was there:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

I replaced those lines with combinations like these (and in cases where something was set to 0 I also tried 1):

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i8042.reset i8042.nomux i8042.nopnp i8042.noloop"
GRUB_CMDLINE_LINUX=""
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash psmouse.proto=bare"
GRUB_CMDLINE_LINUX="i8042.reset i8042.nomux i8042.nopnp i8042.noloop"
GRUB_CMDLINE_LINUX_DEFAULT="psmouse.synaptics_intertouch=1 quiet splash"
GRUB_CMDLINE_LINUX=""
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX="i8042.nomux=1 i8042.reset psmouse.elantech_smbus=1"

Most recently I created a new settings file for libinput at /usr/share/X11/xorg.conf.d/99-touchpad.conf (with a 99 to override other settings) and filled it with this config:

Section "InputClass"
        Identifier      "replacement touchpad"
        #MatchIsTouchpad "off"
        MatchProduct    "PS/2 Logitech Wheel Mouse"
        MatchDevicePath "/dev/input/event*"
        Driver          "libinput"
        Option          "Tapping"               "False"
        Option          "TappingButtonMap"      "lrm"
        Option          "DisableWhileTyping"    "True"
        Option          "NaturalScrolling"      "True"
        Option          "NaturalScrolling"      "twofinger"
        Option          "ScrollMethod"          "twofinger"
        Option          "TappingDrag"           "False"
        Option          "TappingDragLock"       "False"
        Option          "AccelProfile"          "adaptive"
        Option          "AccelSpeed"            "0.1"
EndSection

I briefly had the Driver option in that config set to synaptics, which made the touchpad not work. I changed the string for the MatchProduct option to include some nonsense text, and the touchpad started working again on reboot, so that basically confirmed for me that my config file was indeed being used for this device.

I’ve found a lot of advice for similar issues, but haven’t been able to make any of them work. One fun on was running this command:

$ sudo sh -c 'echo -n "elantech" > /sys/bus/serio/devices/serio1/protocol'

That results in the touchpad immediately appearing as a PS/2 Elantech Touchpad, but the behavior doesn’t change.

Is there a way to force the device to be a touchpad?

How is a “detection tool” such Dell SupportAssist able to detect if it is installed on a system through the web browser?

When I access a site such as Dell.com in order to locate drivers for my device, some sites, such as Dell, provide “smart” support that detect your system, check certain parameters, and then return the matching drivers based, most likely, on the service tag retrieved.

I understand in order to work it needs the matching executable to run; however, the web site itself appears to be able to “detect” whether or not the tool (in this case, Dell SupportAssist) is installed. If a browser doesn’t have access to the file system, how is this accomplished? I assume it is some sort of plug-in for the browser that grants the browser extended access to the system?

enter image description here

motherboard – dell xps water damage – keyboard not working

My daughter spilled a small amount of water on her XPS 13 9360 keyboard a few weeks ago. The keyboard stopped working the next day. The backlight comes on, but none of the keys work. I purchased a new keyboard and did some significant surgery to replace it. Unfortunately, the new keyboard still does not work. I’m tempted to purchase a new motherboard (returnable if it doesn’t solve the problem). Any other ideas? Appreciate any advice. I’m reasonably technical.

dell – DisplayCAL profile loader: display profile couldn’t be loaded; what does it mean?

I installed Linux Ubuntu 18.04 on one of my old laptop (Latitude E6430).

It works beautifully and is even much faster than Win7 which was on there before.

However, when I log in X-Windows, I get a message saying that a display profile could not be loaded:

DisplayCAL Profile Loader 3.5

P7FFH-140WD1 @ 0, 0, 1600×900: Display profile couldn’t be loaded.

The message can be discarded and I can even mark it as “do not show again”. So I suppose it’s just a warning. That being said, I’m wondering what that message means since the display looks as expected (correct sizes, perfect colors, nothing to complain about).

Dell 19″ display not being handled properly by Ubuntu

During install of Ubuntu 20.04, Center of display would start in center with darkening, then the spot would get larger, obliterating the content. Able to get Ubuntu installed and re-booted. Came up with highly pixelated screen, weird colors. Only able to get certain areas to show proper content. Hitting Escape key occasionally would get the content to show properly. Total screen NEVER did show correctly.
Tried resetting the Dell internal settings to factory settings. Did NOT help.
During re-boot, the UBUNTU and logo with circling logo appear normal and correct.
Tried swapping the display with another Dell 19″ that was connected to my iMac. Same results. Ubuntu is not using correct drivers or settings of some type correctly.
Picture of screen following reboot