From acca4b543bce35ea4d0b792c72475d27b327f511 Mon Sep 17 00:00:00 2001 From: fuleyi Date: Tue, 10 Mar 2026 11:12:38 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=80=82=E9=85=8DPS=E9=BC=A0=E6=A0=87?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E7=9A=84=E8=A7=A6=E6=8E=A7=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 适配PS鼠标类型的触控板 Log: PMS: BUG-352421 Influence: 输入设备-触控板 --- dxinput/touchpad.go | 18 ++++++++++++++---- go.mod | 5 ++--- go.sum | 10 ++++------ 3 files changed, 20 insertions(+), 13 deletions(-) diff --git a/dxinput/touchpad.go b/dxinput/touchpad.go index 0563e01..ab66519 100644 --- a/dxinput/touchpad.go +++ b/dxinput/touchpad.go @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2018 - 2022 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2018 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -53,14 +53,24 @@ func NewTouchpad(id int32) (*Touchpad, error) { } func NewTouchpadFromDevInfo(dev *DeviceInfo) (*Touchpad, error) { - if dev == nil || dev.Type != DevTypeTouchpad { - return nil, fmt.Errorf("Not a touchpad device(%d - %s)", dev.Id, dev.Name) + if dev == nil { + return nil, errors.New("device info is nil") + } + + if dev.Type != DevTypeTouchpad && dev.Type != DevTypeMouse { + return nil, fmt.Errorf("unsupported device type: %v (device: %d - %s)", + dev.Type, dev.Id, dev.Name) + } + + isLibinputUsed := utils.IsPropertyExist(dev.Id, libinputPropTapEnabled) + if !isLibinputUsed && dev.Type == DevTypeMouse { + isLibinputUsed = utils.IsPropertyExist(dev.Id, libinputPropButtonScrollingButton) } return &Touchpad{ Id: dev.Id, Name: dev.Name, - isLibinputUsed: utils.IsPropertyExist(dev.Id, libinputPropTapEnabled), + isLibinputUsed: isLibinputUsed, }, nil } diff --git a/go.mod b/go.mod index c72ac89..ad403ea 100644 --- a/go.mod +++ b/go.mod @@ -7,11 +7,10 @@ require ( github.com/fogleman/gg v1.3.0 github.com/godbus/dbus/v5 v5.1.0 github.com/gosexy/gettext v0.0.0-20160830220431-74466a0a0c4a - github.com/linuxdeepin/go-dbus-factory v0.0.0-20251106065250-e58866b2c218 + github.com/linuxdeepin/go-dbus-factory v0.0.0-20260227070938-bcb8d12841ab github.com/linuxdeepin/go-gir v0.0.0-20251127080441-d9c47dbb6da4 - github.com/linuxdeepin/go-lib v0.0.0-20251106065207-1fdf101312e6 + github.com/linuxdeepin/go-lib v0.0.0-20260205120541-a1f572ce1442 github.com/linuxdeepin/go-x11-client v0.0.0-20230131052004-7503e2337ee1 - github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 github.com/stretchr/testify v1.8.1 gopkg.in/alecthomas/kingpin.v2 v2.2.6 ) diff --git a/go.sum b/go.sum index 95e33de..e532d5a 100644 --- a/go.sum +++ b/go.sum @@ -27,19 +27,17 @@ github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfn github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/linuxdeepin/go-dbus-factory v0.0.0-20251106065250-e58866b2c218 h1:bifQcTysGUacNXM5PK9IWDPCG8Jb/+JzKwy3w8APYq0= -github.com/linuxdeepin/go-dbus-factory v0.0.0-20251106065250-e58866b2c218/go.mod h1:dfpixHkqiijg3P7w5QArkMyC7+vlHcutN5R6zHIn8is= +github.com/linuxdeepin/go-dbus-factory v0.0.0-20260227070938-bcb8d12841ab h1:tzTj6afLE47xQ8oRdeH/xBwgc1Jfo6loOCZyAVO21/4= +github.com/linuxdeepin/go-dbus-factory v0.0.0-20260227070938-bcb8d12841ab/go.mod h1:dfpixHkqiijg3P7w5QArkMyC7+vlHcutN5R6zHIn8is= github.com/linuxdeepin/go-gir v0.0.0-20250812023606-b28aaee32ac9/go.mod h1:a0tox5vepTQu5iO6rdKc4diGT+fkyXZlRROM8ULEvaI= github.com/linuxdeepin/go-gir v0.0.0-20251127080441-d9c47dbb6da4 h1:CsW+3eOerOSANbQWEXOWNqJuzl7/W9QIJu9wHvB0g/I= github.com/linuxdeepin/go-gir v0.0.0-20251127080441-d9c47dbb6da4/go.mod h1:a0tox5vepTQu5iO6rdKc4diGT+fkyXZlRROM8ULEvaI= -github.com/linuxdeepin/go-lib v0.0.0-20251106065207-1fdf101312e6 h1:ntYWER7pULMpTQykPiENOGh7pxSPCspV3Ql8mZA+IBc= -github.com/linuxdeepin/go-lib v0.0.0-20251106065207-1fdf101312e6/go.mod h1:2d0hhhqpr9UP9DRgnzU4y6nwdgUtM0qV94Wf0bzAI2g= +github.com/linuxdeepin/go-lib v0.0.0-20260205120541-a1f572ce1442 h1:CuqOgdz4wxhvUIjuOnQX36Wq0zSnMQd94YqoiwH681E= +github.com/linuxdeepin/go-lib v0.0.0-20260205120541-a1f572ce1442/go.mod h1:2d0hhhqpr9UP9DRgnzU4y6nwdgUtM0qV94Wf0bzAI2g= github.com/linuxdeepin/go-x11-client v0.0.0-20220830090948-78fe92b727bb/go.mod h1:KwpmRZ47A/0a2l9V0V6aTlkuNaqy5j1fOqMFJONuIMY= github.com/linuxdeepin/go-x11-client v0.0.0-20230131052004-7503e2337ee1 h1:UZo2ftrgFtf5O4jtG0dJ+i/AeFy8LXjNewBRDhwzFxA= github.com/linuxdeepin/go-x11-client v0.0.0-20230131052004-7503e2337ee1/go.mod h1:KwpmRZ47A/0a2l9V0V6aTlkuNaqy5j1fOqMFJONuIMY= github.com/mozillazg/go-pinyin v0.19.0/go.mod h1:iR4EnMMRXkfpFVV5FMi4FNB6wGq9NV6uDWbUuPhP4Yc= -github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ= -github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=