[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[STUMP] roblem with changing Escape key to Windows key (found problem, n
From: |
Bill Clementson |
Subject: |
[STUMP] roblem with changing Escape key to Windows key (found problem, need advice on fix) |
Date: |
Fri, 16 May 2008 13:10:09 -0700 |
Hi all,
I had the following lines in my .stumpwmrc file to change the Stumpwm
escape key to the Windows key:
(run-shell-command "xmodmap -e \'keycode 115 = F20\'" t)
(set-prefix-key (kbd "F20"))
This used to work on the git version of Stumpwm that I downloaded on
April 11. However, after building yesterday's git version of Stumpwm,
I got the following error on the "set-prefix-key" line:
The value NIL is not of type (UNSIGNED-BYTE 8).
0: (SB-DEBUG::MAP-BACKTRACE #<CLOSURE (LAMBDA #) {B4D45FD}>)[:EXTERNAL]
1: (SB-DEBUG:BACKTRACE 100 #<SB-IMPL::STRING-OUTPUT-STREAM {B4D45A9}>)
2: (BACKTRACE-STRING)
3: ((LAMBDA (C)) #<TYPE-ERROR {B4D4301}>)
4: (SIGNAL #<TYPE-ERROR {B4D4301}>)[:EXTERNAL]
5: (ERROR TYPE-ERROR)[:EXTERNAL]
6: (SB-KERNEL::OBJECT-NOT-TYPE-ERROR-HANDLER
#<unavailable argument>
#.(SB-SYS:INT-SAP #XB79F7320)
#<SB-ALIEN-INTERNALS:ALIEN-VALUE :SAP #XB79F700C :TYPE (*
(SB-ALIEN:STRUCT
SB-VM::OS-CONTEXT-T-STRUCT))>
(462 14))
7: (SB-KERNEL::OBJECT-NOT-TYPE-ERROR-HANDLER
#<unavailable argument>
#.(SB-SYS:INT-SAP #XB79F7320)
#<SB-ALIEN-INTERNALS:ALIEN-VALUE :SAP #XB79F700C :TYPE (*
(SB-ALIEN:STRUCT
SB-VM::OS-CONTEXT-T-STRUCT))>
(462 14))[:EXTERNAL]
8: (SB-KERNEL:INTERNAL-ERROR
#.(SB-SYS:INT-SAP #XB79F700C)
#<unavailable argument>)
9: ("foreign function: #x806170C")
10: ("foreign function: #x80514AC")
11: ("foreign function: #x8055567")
12: ("foreign function: #x8055732")
13: (XLIB:KEYCODE->KEYSYM
#<XLIB:DISPLAY :0 (The X.Org Foundation R10300000)>
NIL
0)[:EXTERNAL]
14: (XWIN-GRAB-KEYS #<XLIB:WINDOW :0 A000BA>)
15: (SYNC-KEYS)
16: (SET-PREFIX-KEY #<unavailable argument>)
17: (SB-INT:SIMPLE-EVAL-IN-LEXENV (SET-PREFIX-KEY (KBD "F20")) #<NULL-LEXENV>)
18: ((LAMBDA ()))
19: ((LAMBDA (SWANK-BACKEND::FN)) #<CLOSURE (LAMBDA #) {B4D0CAD}>)
20: (SWANK::CALL-WITH-BUFFER-SYNTAX #<CLOSURE (LAMBDA #) {B4D0CAD}>)
21: (SB-INT:SIMPLE-EVAL-IN-LEXENV
(SWANK:INTERACTIVE-EVAL "(set-prefix-key (kbd \"F20\"))")
#<NULL-LEXENV>)
22: ((LAMBDA ()))
23: ((LAMBDA (SWANK-BACKEND::HOOK SWANK-BACKEND::FUN))
#<FUNCTION SWANK:SWANK-DEBUGGER-HOOK>
#<CLOSURE (LAMBDA #) {B4D0605}>)
24: (SWANK::PROCESS-AVAILABLE-INPUT
#<SB-SYS:FD-STREAM for "a socket" {B68FFA1}>
#<FUNCTION SWANK::READ-FROM-EMACS>)
25: ((LAMBDA (SWANK-BACKEND::_)) #<unused argument>)
26: (SB-IMPL::SUB-SUB-SERVE-EVENT 0 0)
27: (SB-IMPL::SUB-SERVE-EVENT 0 0 NIL)
28: (SB-SYS:SERVE-ALL-EVENTS 1)
29: (SB-EXT:PROCESS-WAIT #<SB-IMPL::PROCESS :EXITED 0> NIL)
30: (SB-EXT:RUN-PROGRAM "/bin/sh" ("-c" "xmodmap -e 'keycode 115 =
F20'"))[:EXTERNAL]
31: (RUN-PROG-COLLECT-OUTPUT "/bin/sh")[:EXTERNAL]
32: (SB-INT:SIMPLE-EVAL-IN-LEXENV
(RUN-SHELL-COMMAND "xmodmap -e 'keycode 115 = F20'" T)
#<NULL-LEXENV>)
33: ((LAMBDA ()))
34: ((LAMBDA (SWANK-BACKEND::FN)) #<CLOSURE (LAMBDA #) {B444EBD}>)
35: (SWANK::CALL-WITH-BUFFER-SYNTAX #<CLOSURE (LAMBDA #) {B444EBD}>)
36: (SB-INT:SIMPLE-EVAL-IN-LEXENV
(SWANK:INTERACTIVE-EVAL
"(run-shell-command \"xmodmap -e \\'keycode 115 = F20\\'\" t)")
#<NULL-LEXENV>)
37: ((LAMBDA ()))
38: ((LAMBDA (SWANK-BACKEND::HOOK SWANK-BACKEND::FUN))
#<FUNCTION SWANK:SWANK-DEBUGGER-HOOK>
#<CLOSURE (LAMBDA #) {B444815}>)
39: ((LAMBDA ()))
40: ((LAMBDA (SWANK-BACKEND::HOOK SWANK-BACKEND::FUN))
#<FUNCTION SWANK:SWANK-DEBUGGER-HOOK>
#<FUNCTION (LAMBDA #) {C0382C5}>)
41: (SWANK::CALL-WITH-REDIRECTED-IO
#<SWANK::CONNECTION {B690891}>
#<CLOSURE (LAMBDA #) {B443035}>)
42: (SWANK::CALL-WITH-CONNECTION
#<SWANK::CONNECTION {B690891}>
#<FUNCTION (LAMBDA #) {C0382C5}>)
43: (SWANK::HANDLE-REQUEST #<SWANK::CONNECTION {B690891}>)
44: (SWANK::PROCESS-AVAILABLE-INPUT
#<SB-SYS:FD-STREAM for "a socket" {B68FFA1}>
#<CLOSURE (LAMBDA #) {B443025}>)
45: ((FLET SWANK::HANDLER))
46: ((LAMBDA (SWANK-BACKEND::_)) #<unused argument>)
47: (SB-IMPL::SUB-SUB-SERVE-EVENT NIL NIL)
48: (SB-IMPL::SUB-SERVE-EVENT NIL NIL NIL)
49: (SB-SYS:WAIT-UNTIL-FD-USABLE 4 :INPUT NIL)
50: (XLIB::BUFFER-INPUT-WAIT-DEFAULT
#<XLIB:DISPLAY :0 (The X.Org Foundation R10300000)>
NIL)
51: (XLIB::BUFFER-INPUT-WAIT
#<XLIB:DISPLAY :0 (The X.Org Foundation R10300000)>
NIL)
52: (XLIB::READ-INPUT
#<XLIB:DISPLAY :0 (The X.Org Foundation R10300000)>
NIL
T
#<FUNCTION (LAMBDA #) {A79FC95}>)[:EXTERNAL]
53: (XLIB::WAIT-FOR-EVENT
#<XLIB:DISPLAY :0 (The X.Org Foundation R10300000)>
NIL
T)
54: (XLIB::EVENT-LOOP-STEP-BEFORE
#<XLIB:DISPLAY :0 (The X.Org Foundation R10300000)>
NIL
T
#:G1892)
55: ((FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK))
56: (XLIB:PROCESS-EVENT #<XLIB:DISPLAY :0 (The X.Org Foundation
R10300000)>)[:EXTERNAL]
57: (STUMPWM-INTERNAL-LOOP)
58: (STUMPWM-INTERNAL-LOOP)[:EXTERNAL]
59: (STUMPWM-INTERNAL ":0")
60: (STUMPWM ":0")
61: ((LAMBDA ()))
62: ((LABELS SB-IMPL::RESTART-LISP))
I tracked the problem down to the call to xlib:keycode->keysym in
xwin-grab-keys (in window.lisp). The first "when" was added after the
April 11 code. To eliminate the error, I commented out the new code as
follows:
(defun xwin-grab-keys (win)
(labels ((grabit (w key)
(let* ((code (xlib:keysym->keycodes *display* (key-keysym key))))
;; Some keysyms, such as upper case letters, need the
;; shift modifier to be set in order to grab properly.
;; (when (and (not (eql (key-keysym key)
(xlib:keycode->keysym *display* code 0)))
;; (eql (key-keysym key)
(xlib:keycode->keysym *display* code 1)))
;; ;; don't butcher the caller's structure
;; (setf key (copy-structure key)
;; (key-shift key) t))
;; some keysyms aren't mapped to keycodes so just ignore them.
(when code
I also had to change my .stumpwmrc code from:
(run-shell-command "xmodmap -e \'keycode 115 = F20\'" t)
(set-prefix-key (kbd "F20"))
to:
(run-shell-command "xmodmap -e \'keycode 115 = F20\'" t)
(set-prefix-key (kbd "L10"))
I'm not sure who made the changes to xwin-grab-keys; however, that
particular change should probably be fixed. As I'm not sure what the
original rationale for the change was, I'm not sure what the correct
fix should be.
--
Bill Clementson
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [STUMP] roblem with changing Escape key to Windows key (found problem, need advice on fix),
Bill Clementson <=