all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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.
>>


  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.