Arch-Linux

Emacs 無法辨識 SM-* 命令

  • October 29, 2014

我注意到Emacs 無法辨識M->(end-of-buffer) 和(org-meta-right) 之類的命令。M-S-<right arrow>這通過使用 描述鍵綁定得到了證實C-h k,它顯示了分配給 的功能M-.

我在執行最新版本 Xorg(無根)的最新 Arch Linux 系統上使用庫存 Emacs 24.3(gui)。這個問題在視窗管理器中一直存在,所以我不認為這是一個視窗管理器問題。此外,對我的鍵映射所做的唯一修改是:

setxkbmap -option ctrl:nocaps
setxkbmap -option terminate:ctrl_alt_bksp

我使用 key-mon 確認 MS- 可以被 X 辨識。看起來它可以。但是,我也安裝了conkeror,發現它也接收不到組合鍵,所以我認為這一定是我的X伺服器有問題。

我還能嘗試什麼來解決這個問題?

鍵入xmodmap -pke會顯示我的鍵盤映射的這些 NoSymbol 區域。他們會是罪魁禍首嗎?

keycode  36 = Return NoSymbol Return
keycode  37 = Control_L NoSymbol Control_L

使用命令:

setxkbmap -print -verbose 10

給出以下輸出:

   Setting verbose level to 10
   locale is C
   Trying to load rules file ./rules/evdev...
   Trying to load rules file /usr/share/X11/xkb/rules/evdev...
   Success.
   Applied rules from evdev:
   rules:      evdev
   model:      thinkpad
   layout:     us
   options:    terminate:ctrl_alt_bksp,ctrl:nocaps,grp:alt_shift_toggle
   Trying to build keymap using the following components:
   keycodes:   evdev+aliases(qwerty)
   types:      complete
   compat:     complete
   symbols:    pc+us+inet(evdev)+group(alt_shift_toggle)+ctrl(nocaps)+terminate(ctrl_alt_bksp)
   geometry:   thinkpad(us)
   xkb_keymap {
   xkb_keycodes  { include "evdev+aliases(qwerty)" };
   xkb_types     { include "complete"  };
   xkb_compat    { include "complete"  };
   xkb_symbols   { include   "pc+us+inet(evdev)+group(alt_shift_toggle)+ctrl(nocaps)+terminate(ctrl_alt_bksp)" };
       xkb_geometry  { include "thinkpad(us)"  };

grp:alt_shift_toggle 以某種方式添加到我的 Xorg 配置中。從 10-keyboard.conf 中刪除該行並重新啟動 X 刪除了不良行為。

引用自:https://unix.stackexchange.com/questions/153234