From: "B. T. Raven" <nihil@nihilo.net>
To: help-gnu-emacs@gnu.org
Subject: Re: custom keyboard layout? howto redefine keys?
Date: Fri, 10 Apr 2009 11:22:05 -0500 [thread overview]
Message-ID: <GuGdnfVa3Omw70LUnZ2dnUVZ_tWdnZ2d@sysmatrix.net> (raw)
In-Reply-To: <a7c8eeb5-ddea-40d4-a3a7-849e5cabb2a9@l1g2000yqk.googlegroups.com>
nic.d.m.1@googlemail.com wrote:
> Thank you very much! I "mixed" your solutions and it worked:
>
> (global-set-key "b" (lambda () (interactive) (ucs-insert "61")))
> (global-set-key "a" (lambda () (interactive) (ucs-insert "62")))
Aren't you worried about having the keyboard work one way in Emacs and
another in other programs. Here is an explanation of the danger inherent
in such a strategy:
http://en.wikipedia.org/wiki/Muscle_memory
>
> Any idea *why* this works? I don't understand it. What is the meaning
> of "interactive" here?
I think it makes the anonymous lambda function act like a command.
>
> By the way: Is there a possibility to reload the .emacs file without
> restarting emacs?
Not with it's full initialization functionality, but many things (as in
your example above) can be set up by pressing C-x C-e with the cursor
after the last parenthesis of the lisp expression. The expression
doesn't even have to be in .emacs but if it isn't saved saved there it
won't be set the next time you start Emacs.
>
> I tried: M-x load-file .emacs but it doesn't work.
>
> On 10 Apr., 11:25, "B. T. Raven" <ni...@nihilo.net> wrote:
>> nic.d....@googlemail.com wrote:
>>> Is there a way to customize the keyboard layout within emacs? For
>>> example if I want "the key on my keyboard labeled 'a' behave like
>>> that labeled 'b' I think the code for my .emacs file should be
>>> something like this:
>>> (global-set-key ["Key labeled 'a' on my keyboard"] 'ucs-insert0062)
>>> I am new to emacs and don't know what the correct syntax for "Key
>>> labeled 'a' on my keyboard' could be.
>>> So I tried to make f5instead behave like b:
>>> (global-set-key [f5] 'ucs-insert0062)
>>> Then I get an error message: "Wrong type argument: commandp, (ucs-
>>> insert62)" if I restart emacs and press f5.
>>> (For example (global-set-key [f1] 'ucs-insert) works, but then it
>>> asks which UTF-8character I want to insert, that's not what I want)
>>> Any ideas?
>> (global-set-key [f5] (lambda () (interactive) (ucs-insert "62")))
>>
>> ucs-insert seems to want a string;
>>
>> for your original question you could also do this:
>>
>> (global-set-key "a" "b")
>>
>> but you will immediately regret it, since now you won't be able to type
>> the letter a, for example to assign it to another key. At least I
>> couldn't figure out how to undo the damage and I had to re-start Emacs.
>>
next prev parent reply other threads:[~2009-04-10 16:22 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-09 23:40 custom keyboard layout? howto redefine keys? nic.d.m.1
2009-04-10 9:25 ` B. T. Raven
2009-04-10 10:18 ` nic.d.m.1
2009-04-10 15:56 ` rustom
2009-04-10 16:22 ` B. T. Raven [this message]
2009-04-10 16:39 ` harven
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=GuGdnfVa3Omw70LUnZ2dnUVZ_tWdnZ2d@sysmatrix.net \
--to=nihil@nihilo.net \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.