如何阻止`gnome-screensaver`将键盘重置为默认布局?

我在会话启动期间使用xmodmap来改变我的键盘布局。 但是,每次激活GNOME屏幕保护程序/锁定屏幕时,它都会将键盘重置为其默认布局,我必须再次运行xmodmap才能恢复键绑定。

我知道在提交密码提示之前重置键盘布局是正确的做法,但有没有办法阻止GNOME屏幕保护程序执行此操作? 还是一种告诉GNOME一直使用自定义键盘布局的方法?

登录时, .Xmodmap (设置为用户或全局)将正确读取。 但是,当监视器进入hibernate状态并重新登录时,它将被重置并且密钥将像以前.Xmodmap工作.Xmodmap已加载。 没有任何设置可以解决,直到某些时候我意识到我的键盘已插入显示器,因此当显示器进入睡眠状态或关闭时,所有坐位都会丢失。 将键盘直接插入计算机塔是有帮助的。 现在,登录后立即初始读取.Xmodmap是独立于打开或关闭的监视器而维护的。

使用gconf-tool搜索,我找到了设置/desktop/gnome/peripherals/keyboard/general/update_handlers ,这显然是每次重置键盘状态时要重新加载的Xmodmap文件列表。

将它设置为.Xmodmap使得这个东西适合我(在退出并重新登录后)。

您可以在系统 – >首选项 – >键盘中更改GNOME键盘布局选项。

您可以在系统 – >首选项 – >键盘快捷键中编辑键绑定。

这些可能与xmodmap没有相同的灵活性,但即使在屏幕保护程序/锁定屏幕之后也应该正常工作。

我有自定义键绑定存储在xkb文件中,我可以使用xkbcomp加载。 屏幕保护程序重置此配置时,我从未遇到任何问题。

然后,您可以将xkbcomp命令放在.xinitrc文件中,以便在x开始时加载keymap。