[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Howto: Bind Windows key as a prefix?
From: |
Akib Azmain Turja |
Subject: |
Re: Howto: Bind Windows key as a prefix? |
Date: |
Wed, 06 Jul 2022 00:40:59 +0600 |
Akib Azmain Turja <akib@disroot.org> writes:
> "T.V Raman" <raman@google.com> writes:
>
>> On my laptop,
>> pressing windows-key+<c> says
>> s-<c> is undefined for any <c>.
>>
>> M-x global-set-key RET
>> windows+<c> RET
>> command RET
>> binds windows-<c>
>> and asking where is <command> shows it as being on s-<c>.
>>
>> However calling global-set-key with "s-<c>" bombs with key-sequence
>> "s-<c>" starts with non-prefix s"
>>
>> Debugger entered--Lisp error: (error "Key sequence s - a starts with
>> non-prefix key s")
>> (define-key (keymap #^[nil nil keymap
>> #^^[3 0 set-mark-command move-beginning-of-line backward-char
>> mode-specific-command-prefix delete-char emacspeak-prefix-command
>> forward-char keyboard-quit help-command indent-for-tab-command
>> electric-newline-and-maybe-indent kill-line recenter-top-bottom newline
>> next-line (keymap (32 . emacspeak-outline-speak-this-heading) (102 .
>> emacspeak-outline-speak-forward-heading) (98 .
>> emacspeak-outline-speak-backward-heading) (110 .
>> emacspeak-outline-speak-next-heading) (112 .
>> emacspeak-outline-speak-previous-heading) (111 . open-line) (13 .
>> outline-insert-heading) (67108926 . outline-demote) (67108924 .
>> outline-promote) (22 . outline-move-subtree-down) (30 .
>> outline-move-subtree-up) (15 . outline-hide-other) (17 .
>> outline-hide-sublevels) (11 . outline-show-branches) (12 .
>> outline-hide-leaves) (5 . outline-show-entry) (3 . outline-hide-entry) (1 .
>> outline-show-all) (20 . outline-hide-body) (2 . outline-backward-same-level)
>> (6 . outline-forward-same-level) (21 . outline-up-heading) (4 .
>> outline-hide-subtree) (19 . outline-show-subtree) (9 .
>> outline-show-children) (16 . outline-previous-visible-heading) (14 .
>> outline-next-visible-heading) (64 . outline-mark-subtree)) previous-line
>> quoted-insert isearch-backward isearch-forward transpose-chars
>> universal-argument scroll-up-command kill-region Control-X-prefix
>> emacspeak-muggles-yank-pop/yank emacspeak-ctl-z-keymap ESC-prefix
>> toggle-input-method abort-recursive-edit nil ...] #^^[1 0 #^^[2 0
>> #^^[3 0 set-mark-command move-beginning-of-line backward-char
>> mode-specific-command-prefix delete-char emacspeak-prefix-command
>> forward-char keyboard-quit help-command indent-for-tab-command
>> electric-newline-and-maybe-indent kill-line recenter-top-bottom newline
>> next-line (keymap ... ... ... ... ... ... ... ... ... ... ... ... ... ...
>> ... ... ... ... ... ... ... ... ... ... ... ... ... ...) previous-line
>> quoted-insert isearch-backward isearch-forward transpose-chars
>> universal-argument scroll-up-command kill-region Control-X-prefix
>> emacspeak-muggles-yank-pop/yank emacspeak-ctl-z-keymap ESC-prefix
>> toggle-input-method abort-recursive-edit nil ...] self-insert-command
>> self-insert-command self-insert-command self-insert-command
>> self-insert-command self-insert-command self-insert-command
>> self-insert-command self-insert-command self-insert-command
>> self-insert-command self-insert-command self-insert-command
>> self-insert-command self-insert-command self-insert-command
>> self-insert-command self-insert-command self-insert-command
>> self-insert-command self-insert-command self-insert-command
>> self-insert-command self-insert-command self-insert-command
>> self-insert-command self-insert-command self-insert-command
>> self-insert-command self-insert-command ...] self-insert-command
>> self-insert-command self-insert-command self-insert-command
>> self-insert-command self-insert-command self-insert-command
>> self-insert-command self-insert-command self-insert-command
>> self-insert-command self-insert-command self-insert-command
>> self-insert-command self-insert-command] self-insert-command
>> self-insert-command self-insert-command self-insert-command
>> self-insert-command self-insert-command self-insert-command
>> self-insert-command self-insert-command self-insert-command
>> self-insert-command self-insert-command self-insert-command
>> self-insert-command self-insert-command self-insert-command
>> self-insert-command self-insert-command self-insert-command
>> self-insert-command self-insert-command self-insert-command
>> self-insert-command self-insert-command self-insert-command
>> self-insert-command self-insert-command ...] (8388716 . ansi-term) (8388640
>> . emacspeak-muggles-maths-navigator/body) (8388718 .
>> emacspeak-muggles-navigate/body) (print . emacspeak-muggles-brightness/body)
>> (f14 . kmacro-end-or-call-macro) (f13 .
>> kmacro-start-macro-or-insert-counter) (S-mouse-3 . kmacro-end-call-mouse)
>> (C-S-iso-lefttab . tab-previous) (C-S-tab . tab-previous) (C-tab . tab-next)
>> (f5 . find-file) (remap keymap (dabbrev-expand . hippie-expand)) (silence .
>> emacspeak-silence) (67108903 . emacspeak-multi-keymap) (67108923 .
>> emacspeak-hyper-keymap) (67108910 . emacspeak-super-keymap) (67108908 .
>> emacspeak-alt-keymap) (S-down . emacspeak-skip-blank-lines-forward) (S-up .
>> emacspeak-skip-blank-lines-backward) (S-right . next-buffer) (S-left .
>> previous-buffer) (XF86AudioRaiseVolume . amixer-volume-up)
>> (XF86AudioLowerVolume . amixer-volume-down) (C-f2 . amixer-volume-down)
>> (C-f1 . amixer-volume-up) (XF86AudioPlay . emacspeak-silence) (paste .
>> clipboard-yank) (copy . clipboard-kill-ring-save) (cut .
>> clipboard-kill-region) (f18 . clipboard-yank) ...) "s-a" ansi-term)
>> (#f(compiled-function (key command) "Give KEY a global binding as
>> COMMAND.\nThis is a legacy function; see `keymap-global-set' for
>> the\nrecommended function to use instead.\n\nCOMMAND is the command
>> definition to use; usually it is\na symbol naming an interactively-callable
>> function.\nKEY is a key sequence; noninteractively, it is a string or
>> vector\nof characters or event types, and non-ASCII characters with
>> codes\nabove 127 (such as ISO Latin-1) can be included if you use a
>> vector.\n\nNote that if KEY has a local binding in the current buffer,\nthat
>> local binding will continue to shadow any global binding\nthat you make with
>> this function." (interactive #f(compiled-function () #<bytecode
>> 0x1c12d585360c8f11>)) #<bytecode 0xb0d11433d0335b6>) "s-a" ansi-term)
>> (ad-Advice-global-set-key #f(compiled-function (key command) "Give KEY a
>> global binding as COMMAND.\nThis is a legacy function; see
>> `keymap-global-set' for the\nrecommended function to use instead.\n\nCOMMAND
>> is the command definition to use; usually it is\na symbol naming an
>> interactively-callable function.\nKEY is a key sequence; noninteractively,
>> it is a string or vector\nof characters or event types, and non-ASCII
>> characters with codes\nabove 127 (such as ISO Latin-1) can be included if
>> you use a vector.\n\nNote that if KEY has a local binding in the current
>> buffer,\nthat local binding will continue to shadow any global binding\nthat
>> you make with this function." (interactive #f(compiled-function ()
>> #<bytecode 0x1c12d585360c8f11>)) #<bytecode 0xb0d11433d0335b6>) "s-a"
>> ansi-term)
>> (apply ad-Advice-global-set-key #f(compiled-function (key command) "Give
>> KEY a global binding as COMMAND.\nThis is a legacy function; see
>> `keymap-global-set' for the\nrecommended function to use instead.\n\nCOMMAND
>> is the command definition to use; usually it is\na symbol naming an
>> interactively-callable function.\nKEY is a key sequence; noninteractively,
>> it is a string or vector\nof characters or event types, and non-ASCII
>> characters with codes\nabove 127 (such as ISO Latin-1) can be included if
>> you use a vector.\n\nNote that if KEY has a local binding in the current
>> buffer,\nthat local binding will continue to shadow any global binding\nthat
>> you make with this function." (interactive #f(compiled-function ()
>> #<bytecode 0x1c12d585360c8f11>)) #<bytecode 0xb0d11433d0335b6>) ("s-a"
>> ansi-term))
>> (global-set-key "s-a" ansi-term)
>> (eval (global-set-key "s-a" 'ansi-term) t)
>> (#f(compiled-function (exp &optional insert-value no-truncate
>> char-print-limit) "Evaluate EXP and print value in the echo area.\nWhen
>> called interactively, read an Emacs Lisp expression and\nevaluate it. Value
>> is also consed on to front of the variable\n`values'. Optional argument
>> INSERT-VALUE non-nil (interactively,\nwith a non `-' prefix argument) means
>> insert the result into the\ncurrent buffer instead of printing it in the
>> echo area.\n\nNormally, this function truncates long output according to
>> the\nvalue of the variables `eval-expression-print-length'
>> and\n`eval-expression-print-level'. When NO-TRUNCATE is\nnon-nil
>> (interactively, with a prefix argument of zero), however,\nthere is no such
>> truncation.\n\nIf the resulting value is an integer, and CHAR-PRINT-LIMIT
>> is\nnon-nil (interactively, unless given a non-zero prefix argument)\nit
>> will be printed in several additional formats (octal,\nhexadecimal, and
>> character). The character format is used only\nif the value is below
>> CHAR-PRINT-LIMIT (interactively, if the\nprefix argument is -1 or the value
>> doesn't exceed\n`eval-expression-print-maximum-character').\n\nRuns the hook
>> `eval-expression-minibuffer-setup-hook' on entering the\nminibuffer.\n\nIf
>> `eval-expression-debug-on-error' is non-nil, which is the default,\nthis
>> command arranges for all errors to enter the debugger." (interactive
>> #f(compiled-function () #<bytecode -0x459e253eac81345>)) #<bytecode
>> -0xc624bdd988e525e>) (global-set-key "s-a" 'ansi-term) nil nil 127)
>> (ad-Advice-eval-expression #f(compiled-function (exp &optional
>> insert-value no-truncate char-print-limit) "Evaluate EXP and print value in
>> the echo area.\nWhen called interactively, read an Emacs Lisp expression
>> and\nevaluate it. Value is also consed on to front of the
>> variable\n`values'. Optional argument INSERT-VALUE non-nil
>> (interactively,\nwith a non `-' prefix argument) means insert the result
>> into the\ncurrent buffer instead of printing it in the echo
>> area.\n\nNormally, this function truncates long output according to
>> the\nvalue of the variables `eval-expression-print-length'
>> and\n`eval-expression-print-level'. When NO-TRUNCATE is\nnon-nil
>> (interactively, with a prefix argument of zero), however,\nthere is no such
>> truncation.\n\nIf the resulting value is an integer, and CHAR-PRINT-LIMIT
>> is\nnon-nil (interactively, unless given a non-zero prefix argument)\nit
>> will be printed in several additional formats (octal,\nhexadecimal, and
>> character). The character format is used only\nif the value is below
>> CHAR-PRINT-LIMIT (interactively, if the\nprefix argument is -1 or the value
>> doesn't exceed\n`eval-expression-print-maximum-character').\n\nRuns the hook
>> `eval-expression-minibuffer-setup-hook' on entering the\nminibuffer.\n\nIf
>> `eval-expression-debug-on-error' is non-nil, which is the default,\nthis
>> command arranges for all errors to enter the debugger." (interactive
>> #f(compiled-function () #<bytecode -0x459e253eac81345>)) #<bytecode
>> -0xc624bdd988e525e>) (global-set-key "s-a" 'ansi-term) nil nil 127)
>> (apply ad-Advice-eval-expression #f(compiled-function (exp &optional
>> insert-value no-truncate char-print-limit) "Evaluate EXP and print value in
>> the echo area.\nWhen called interactively, read an Emacs Lisp expression
>> and\nevaluate it. Value is also consed on to front of the
>> variable\n`values'. Optional argument INSERT-VALUE non-nil
>> (interactively,\nwith a non `-' prefix argument) means insert the result
>> into the\ncurrent buffer instead of printing it in the echo
>> area.\n\nNormally, this function truncates long output according to
>> the\nvalue of the variables `eval-expression-print-length'
>> and\n`eval-expression-print-level'. When NO-TRUNCATE is\nnon-nil
>> (interactively, with a prefix argument of zero), however,\nthere is no such
>> truncation.\n\nIf the resulting value is an integer, and CHAR-PRINT-LIMIT
>> is\nnon-nil (interactively, unless given a non-zero prefix argument)\nit
>> will be printed in several additional formats (octal,\nhexadecimal, and
>> character). The character format is used only\nif the value is below
>> CHAR-PRINT-LIMIT (interactively, if the\nprefix argument is -1 or the value
>> doesn't exceed\n`eval-expression-print-maximum-character').\n\nRuns the hook
>> `eval-expression-minibuffer-setup-hook' on entering the\nminibuffer.\n\nIf
>> `eval-expression-debug-on-error' is non-nil, which is the default,\nthis
>> command arranges for all errors to enter the debugger." (interactive
>> #f(compiled-function () #<bytecode -0x459e253eac81345>)) #<bytecode
>> -0xc624bdd988e525e>) ((global-set-key "s-a" 'ansi-term) nil nil 127))
>> (eval-expression (global-set-key "s-a" 'ansi-term) nil nil 127)
>> (#<subr funcall-interactively> eval-expression (global-set-key "s-a"
>> 'ansi-term) nil nil 127)
>> (apply #<subr funcall-interactively> eval-expression ((global-set-key
>> "s-a" 'ansi-term) nil nil 127))
>> (ad-Advice-funcall-interactively #<subr funcall-interactively>
>> eval-expression (global-set-key "s-a" 'ansi-term) nil nil 127)
>> (apply ad-Advice-funcall-interactively #<subr funcall-interactively>
>> (eval-expression (global-set-key "s-a" 'ansi-term) nil nil 127))
>> (funcall-interactively eval-expression (global-set-key "s-a" 'ansi-term)
>> nil nil 127)
>> (#<subr call-interactively> eval-expression nil nil)
>> (apply #<subr call-interactively> eval-expression (nil nil))
>> (call-interactively@ido-cr+-record-current-command #<subr
>> call-interactively> eval-expression nil nil)
>> (apply call-interactively@ido-cr+-record-current-command #<subr
>> call-interactively> (eval-expression nil nil))
>> (call-interactively eval-expression nil nil)
>> (command-execute eval-expression)
>>
>> --
>>
>> Thanks,
>>
>> --Raman(I Search, I Find, I Misplace, I Research)
>> ♉ Id: kg:/m/0285kf1 🦮NZIrwH2+)!y܄do9
>
> Evaluating "(global-set-key "s-a" 'ansi-term)" won't work. Try
> evaluating "(global-set-key (kbd "s-a") 'ansi-term)".
>
> --
> Akib Azmain Turja
>
> This message is signed by me with my GnuPG key. It's fingerprint is:
>
> 7001 8CE5 819F 17A3 BBA6 66AF E74F 0EFA 922A E7F5
And please, add the expression you tried to evaluate in the message. I
had a hard time to find that expression string in the backtrace.
--
Akib Azmain Turja
This message is signed by me with my GnuPG key. It's fingerprint is:
7001 8CE5 819F 17A3 BBA6 66AF E74F 0EFA 922A E7F5
signature.asc
Description: PGP signature