首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >启动时锁定了CLX、stumpwm、McCLIM键盘布局

启动时锁定了CLX、stumpwm、McCLIM键盘布局
EN

Stack Overflow用户
提问于 2016-03-14 13:21:30
回答 1查看 301关注 0票数 4

我正在使用CLX+STUMPWM+McCLIM,当我通过"setxkbmap us -variant dvorak -option ctrl:nocaps“修改键盘布局时,这个键盘布局在我的CLIM应用程序中没有更新,但是对其他所有东西都进行了正确的更新(因此,为了使用COLEMAK,我在第一次启动CLIM之前运行适当的shell命令)。

为什么会这样?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-22 19:01:43

这似乎是CLX中的一个bug,它独立地影响McCLIM和stumpwm。

例如,我在测试

代码语言:javascript
复制
setxkbmap -layout us

(奎蒂)和

代码语言:javascript
复制
setxkbmap -layout fr

(阿兹蒂)运行这些命令既不影响stumpwm的输入栏,也不影响Climacs。默认的数量仍然有效。

X服务器向应用程序发送密钥。应用程序可以使用keymap表解释这些密钥代码,它们可以从服务器请求这些密钥代码。

在CLX中,密钥到keysym的转换似乎是由在keycode->keysym中定义的translate.lisp函数执行的。它调用在其上方定义的display-keyboard-mapping函数:

代码语言:javascript
复制
(defun display-keyboard-mapping (display)
  (declare (type display display))
  (declare (clx-values (simple-array keysym (display-max-keycode keysyms-per-keycode))))
  (or (display-keysym-mapping display)
      (setf (display-keysym-mapping display) (keyboard-mapping display))))

显然,这个函数只请求一次keymap表并缓存它。改到

代码语言:javascript
复制
(defun display-keyboard-mapping (display)
  (declare (type display display))
  (declare (clx-values (simple-array keysym (display-max-keycode keysyms-per-keycode))))
  (setf (display-keysym-mapping display) (keyboard-mapping display)))

修复输入栏和气候。警告:,我不认为这不会破坏任何其他东西。

注:如果试图使用法语布局从stumpwm的输入栏运行shell命令,请记住这一点!定位在/上。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35988746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档