emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Modified keypad keys


From: Juri Linkov
Subject: Re: Modified keypad keys
Date: Sun, 30 Sep 2012 12:56:55 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2.50 (x86_64-pc-linux-gnu)

>> Not sure about shift.  It's used to toggle the layout of the keypad
>> at the system level.  Also `shift-select-mode' comes into play.
>> So without adding `shift' to these remappings, when e.g.
>> `kp-7' self-inserts `7', `S-kp-7' selects the region
>> to the beginning of the line.
>
> I'm not sure I understand.  By `S-kp-7' do you mean "Emacs sees the
> event S-kp-7" or "I press the key 7 on the numeric keypad while pressing
> shift at the same time"?
> I can't see why Emacs would move to the beginning of line in response to
> the S-kp-7 event, unless you've added bindings on your own, but I can
> imagine that pressing that numeric-keypad-7 with shift might end up
> sending to Emacs some different event such as `S-home', which would
> behave like you describe.  If that's the case then adding shift among
> the modifiers in your code would simply not affect your case (but it
> would still be useful for other keyboards).

In the current trunk's `emacs -Q' when NumLock is off, `C-h k' for
pressing the key 7 on the numeric keypad displays:

  <home> (translated from <kp-home>) runs the command move-beginning-of-line

pressing the key 7 while pressing shift at the same time:

  7 (translated from <S-kp-7>) runs the command self-insert-command

When NumLock is on, pressing the key 7 on the numeric keypad:

  7 (translated from <kp-7>) runs the command self-insert-command

pressing the key 7 while pressing shift at the same time:

  <home> (translated from <S-kp-home>) runs the command move-beginning-of-line

and selects the region to the beginning of the line
when `shift-select-mode' is t.

`xev' displays for the key 7 when NumLock is off:

    state 0x0, keycode 79 (keysym 0xff95, KP_Home), same_screen YES,

and while pressing shift at the same time:

    state 0x1, keycode 79 (keysym 0xffb7, KP_7), same_screen YES,

When NumLock is on, `xev' displays for the key 7:

    state 0x110, keycode 79 (keysym 0xffb7, KP_7), same_screen YES,

and while pressing shift at the same time:

    state 0x11, keycode 79 (keysym 0xff95, KP_Home), same_screen YES,

In the trunk's bindings.el shift key bindings are commented out
with the following comment:

;; Don't bind shifted keypad numeric keys, they reportedly
;; interfere with the feature of some keyboards to produce
;; numbers when NumLock is off.
;(define-key function-key-map [S-kp-1] [S-end])
;(define-key function-key-map [S-kp-2] [S-down])
;(define-key function-key-map [S-kp-3] [S-next])
;(define-key function-key-map [S-kp-4] [S-left])
;(define-key function-key-map [S-kp-6] [S-right])
;(define-key function-key-map [S-kp-7] [S-home])
;(define-key function-key-map [S-kp-8] [S-up])
;(define-key function-key-map [S-kp-9] [S-prior])
(define-key function-key-map [C-S-kp-1] [C-S-end])
(define-key function-key-map [C-S-kp-2] [C-S-down])
(define-key function-key-map [C-S-kp-3] [C-S-next])
(define-key function-key-map [C-S-kp-4] [C-S-left])
(define-key function-key-map [C-S-kp-6] [C-S-right])
(define-key function-key-map [C-S-kp-7] [C-S-home])
(define-key function-key-map [C-S-kp-8] [C-S-up])
(define-key function-key-map [C-S-kp-9] [C-S-prior])

Perhaps the bottom part for C-S- should be commented out as well
for the same reason as explained in the comment above.

So the remaining controversial question is whether pressing
the key 7 while pressing shift at the same time when NumLock is on
should select the region or not.  There are equally good reasons
for both of these variants.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]