You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ubuntu Linux下通过编程判断鼠标按键是否为左利手交换模式?

判断Ubuntu鼠标主按键是否交换的程序实现

Ubuntu系统的鼠标主按键设置存储在GNOME的gsettings配置中,对应的配置项是org.gnome.desktop.peripherals.mouse下的left-handed键:

  • 值为true:鼠标按键已交换(主按键为右键)
  • 值为false:默认状态(主按键为左键)

方法一:命令行直接获取

在终端执行以下命令即可查看当前设置:

gsettings get org.gnome.desktop.peripherals.mouse left-handed

方法二:Python程序实现

方式1:调用系统命令(无需额外依赖)

通过subprocess模块执行gsettings命令并解析结果:

import subprocess

def is_mouse_buttons_swapped():
    proc = subprocess.run(
        ["gsettings", "get", "org.gnome.desktop.peripherals.mouse", "left-handed"],
        capture_output=True,
        text=True,
        check=True
    )
    return proc.stdout.strip() == "true"

if __name__ == "__main__":
    swapped = is_mouse_buttons_swapped()
    print(f"鼠标按键已交换: {swapped}")

方式2:使用GNOME原生GSettings库(更推荐)

借助Gio.Settings直接读取配置,Ubuntu默认已预装python3-gi依赖:

from gi.repository import Gio

def is_mouse_buttons_swapped():
    mouse_settings = Gio.Settings.new("org.gnome.desktop.peripherals.mouse")
    return mouse_settings.get_boolean("left-handed")

if __name__ == "__main__":
    swapped = is_mouse_buttons_swapped()
    print(f"鼠标按键已交换: {swapped}")

内容的提问来源于stack exchange,提问作者Al Sweigart

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 00:12:38