all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#9897: 24.0.90; w32 control character configuration is severely lacking compared to ns-win.el
@ 2011-10-28 15:14 Tim Visher
  2011-10-28 18:47 ` Eli Zaretskii
  0 siblings, 1 reply; 5+ messages in thread
From: Tim Visher @ 2011-10-28 15:14 UTC (permalink / raw)
  To: 9897

This bug report will be sent to the Bug-GNU-Emacs mailing list
and the GNU bug tracker at debbugs.gnu.org.  Please check that
the From: line contains a valid email address.  After a delay of up
to one day, you should receive an acknowledgement at that address.

Please write in English if possible, as the Emacs maintainers
usually do not have translators for other languages.

Please describe exactly what actions triggered the bug, and
the precise symptoms of the bug.  If you can, give a recipe
starting from `emacs -Q':

I'm trying to configure what pressing Alt, Windows, Apps, and Control on
a windows keyboard translates to in emacs. I use emacs on both Macs and
Windows boxen and I'm used to configuring the keys on macs using
ns-win.el bindings like:

    (if (boundp 'mac-command-modifier) (setq mac-command-modifier 'control))
    (if (boundp 'mac-option-modifier) (setq mac-option-modifier 'meta))
    (if (boundp 'mac-control-modifier) (setq mac-control-modifier 'super))

Compared to that library, the ability to configure what the meta keys
map to on windows is severely lacking, not allowing configuration at all
of what the control-modifier is mapped to, and providing only toggles
for the windows keys and apps keys.

I'm mainly just reporting this glaring inequality.

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
For information about debugging Emacs, please read the file
/usr/local/Cellar/emacs/HEAD/share/emacs/24.0.90/etc/DEBUG.


In GNU Emacs 24.0.90.1 (i386-apple-darwin10.8.0, NS apple-appkit-1038.36)
of 2011-10-27 on 184-243-147-41.pools.spcsdns.net
Windowing system distributor `Apple', version 10.3.1038
configured using `configure  '--prefix=/usr/local/Cellar/emacs/HEAD' '--without-dbus' '--enable-locallisppath=/usr/local/share/emacs/site-lisp' '--infodir=/usr/local/Cellar/emacs/HEAD/share/info/emacs' '--with-ns' '--disable-ns-self-contained' 'CC=/usr/bin/llvm-gcc' 'CFLAGS=-O3 -march=core2 -w -pipe''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: nil
  value of $XMODIFIERS: nil
  locale-coding-system: nil
  default enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  hi-lock-mode: t
  recentf-mode: t
  erc-list-mode: t
  erc-menu-mode: t
  erc-autojoin-mode: t
  erc-ring-mode: t
  erc-networks-mode: t
  erc-pcomplete-mode: t
  erc-track-mode: t
  erc-track-minor-mode: t
  erc-match-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-netsplit-mode: t
  eldoc-mode: t
  elisp-slime-nav-mode: t
  paredit-mode: t
  idle-highlight-mode: t
  textmate-mode: t
  glasses-mode: t
  whitespace-mode: t
  shell-dirtrack-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  ido-ubiquitous: t
  show-paren-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  hs-minor-mode: t

Recent input:
o t SPC s e e i n g SPC a SPC s y s t e m SPC m a i 
l SPC i n SPC t h e SPC v a l i d SPC v a l u e s SPC 
o f SPC t h a t SPC v a r <return> a h <return> m e 
s s a g e - s e n d M-/ M-/ M-/ M-/ M-/ C-a C-k l o 
l <return> b o <return> b o o * <return> a s s M-/ 
: SPC t h a n k s ! SPC I <backspace> i ' d SPC a p 
p r e c i a t e SPC t h a t <return> C-x o <tab> <tab> 
<tab> <tab> <tab> <tab> <tab> <tab> <tab> <return> 
<tab> <tab> <return> q C-x o C-x o C-p C-p C-p C-p 
C-x o C-p C-p C-p C-p C-p C-p C-p C-p C-p M-f M-f M-f 
M-f <f1> v <return> C-x 4 C-o <return> C-f C-f M-d 
M-d M-d m a i l - c l i e n t - s e n d M-b M-b C-h 
C-e M-b M-f - i t C-e C-x C-e C-x C-s C-n C-a C-k C-k 
C-k C-k C-k C-k C-k C-k C-k C-k C-k C-k C-k C-k C-k 
C-k C-x C-s C-b C-x C-e C-x C-s C-x b <return> C-c 
C-c C-x o C-n M-> j l f / <backspace> M-/ : M-h M-h 
j l M-/ : SPC T h a n k s ! SPC t h a t SPC d o e s 
SPC i t <return> C-x o M-x e m a r e p <backspace> 
<backspace> <backspace> <backspace> <backspace> <backspace> 
r e p o r t b u <return>

Recent messages:
mailclient-send-it
Saving file /Users/tim/Dropbox/.emacs.d/init.el...
Wrote /Users/tim/Dropbox/.emacs.d/init.el
Saving file /Users/tim/Dropbox/.emacs.d/init.el...
Wrote /Users/tim/Dropbox/.emacs.d/init.el
mailclient-send-it
(No changes need to be saved)
Sending...done
Mark set
Using try-expand-dabbrev [2 times]

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug mailclient ffap browse-url message
rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader em-unix em-script em-ls em-hist em-pred
em-glob em-dirs em-basic em-cmpl em-term term disp-table ehelp electric
em-prompt esh-opt em-banner em-alias esh-var esh-io esh-cmd esh-ext
esh-proc esh-arg esh-groups eshell esh-module esh-mode esh-util
hippie-exp smtpmail sendmail rfc2047 rfc2045 ietf-drums mail-utils
cus-edit hi-lock recentf tree-widget vc-git find-func help-mode view
multi-isearch info network-stream auth-source eieio byte-opt bytecomp
byte-compile cconv macroexp assoc gnus-util mm-util mail-prsvr
password-cache starttls tls erc-menu erc-join erc-ring erc-networks
erc-pcomplete erc-track erc-match erc-button wid-edit erc-fill erc-stamp
erc-netsplit eldoc elisp-slime-nav etags paredit saveplace
idle-highlight-mode hideshow easymenu textmate imenu glasses whitespace
solarized-light-theme solarized-definitions hl-line cus-start cus-load
ansi-color shell pcomplete comint regexp-opt ring maxframe elein
erc-nick-notify notify erc-goodies erc erc-backend erc-compat
format-spec thingatpt pp clojure-test-mode-autoloads
clojure-mode-autoloads deft-autoloads elein-autoloads
erc-nick-notify-autoloads markdown-mode-autoloads marmalade-autoloads
furl-autoloads maxframe-autoloads notify-autoloads slime-autoloads
starter-kit-bindings-autoloads windmove starter-kit-eshell-autoloads
starter-kit-lisp-autoloads elisp-slime-nav-autoloads
starter-kit-autoloads server edmacro kmacro smex starter-kit-misc
ido-ubiquitous cl ido paren starter-kit-defuns uniquify advice help-fns
advice-preload magit-autoloads ido-ubiquitous-autoloads smex-autoloads
find-file-in-project-autoloads idle-highlight-mode-autoloads
paredit-autoloads textmate-autoloads package tabulated-list time-date
tooltip ediff-hook vc-hooks lisp-float-type mwheel ns-win tool-bar dnd
fontset image fringe lisp-mode register page menu-bar rfn-eshadow timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai
tai-viet lao korean japanese hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help
simple abbrev minibuffer loaddefs button faces cus-face files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process ns
multi-tty emacs)





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#9897: 24.0.90; w32 control character configuration is severely lacking compared to ns-win.el
  2011-10-28 15:14 bug#9897: 24.0.90; w32 control character configuration is severely lacking compared to ns-win.el Tim Visher
@ 2011-10-28 18:47 ` Eli Zaretskii
  2011-10-28 19:43   ` Tim Visher
  0 siblings, 1 reply; 5+ messages in thread
From: Eli Zaretskii @ 2011-10-28 18:47 UTC (permalink / raw)
  To: Tim Visher; +Cc: 9897

> From: Tim Visher <tim.visher@gmail.com>
> Date: Fri, 28 Oct 2011 11:14:06 -0400
> 
> I'm trying to configure what pressing Alt, Windows, Apps, and Control on
> a windows keyboard translates to in emacs. I use emacs on both Macs and
> Windows boxen and I'm used to configuring the keys on macs using
> ns-win.el bindings like:
> 
>     (if (boundp 'mac-command-modifier) (setq mac-command-modifier 'control))
>     (if (boundp 'mac-option-modifier) (setq mac-option-modifier 'meta))
>     (if (boundp 'mac-control-modifier) (setq mac-control-modifier 'super))
> 
> Compared to that library, the ability to configure what the meta keys
> map to on windows is severely lacking, not allowing configuration at all
> of what the control-modifier is mapped to, and providing only toggles
> for the windows keys and apps keys.

What other keys do you have on your keyboard that you'd like to
configure on Windows?  There's no "command modifier" and no "option
modifier" on Windows.

Note that in addition to what you mentioned, there's
w32-enable-caps-lock and w32-enable-num-lock that you can use to
produce 2 more symbols.





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#9897: 24.0.90; w32 control character configuration is severely lacking compared to ns-win.el
  2011-10-28 18:47 ` Eli Zaretskii
@ 2011-10-28 19:43   ` Tim Visher
  2011-10-29  4:03     ` Jason Rumney
  0 siblings, 1 reply; 5+ messages in thread
From: Tim Visher @ 2011-10-28 19:43 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 9897

On Fri, Oct 28, 2011 at 2:47 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>> From: Tim Visher <tim.visher@gmail.com>
>> Date: Fri, 28 Oct 2011 11:14:06 -0400
>>
>> I'm trying to configure what pressing Alt, Windows, Apps, and Control on
>> a windows keyboard translates to in emacs. I use emacs on both Macs and
>> Windows boxen and I'm used to configuring the keys on macs using
>> ns-win.el bindings like:
>>
>>     (if (boundp 'mac-command-modifier) (setq mac-command-modifier 'control))
>>     (if (boundp 'mac-option-modifier) (setq mac-option-modifier 'meta))
>>     (if (boundp 'mac-control-modifier) (setq mac-control-modifier 'super))
>>
>> Compared to that library, the ability to configure what the meta keys
>> map to on windows is severely lacking, not allowing configuration at all
>> of what the control-modifier is mapped to, and providing only toggles
>> for the windows keys and apps keys.
>
> What other keys do you have on your keyboard that you'd like to
> configure on Windows?  There's no "command modifier" and no "option
> modifier" on Windows.
>
> Note that in addition to what you mentioned, there's
> w32-enable-caps-lock and w32-enable-num-lock that you can use to
> produce 2 more symbols.
>

Thanks for your quick response!

I'm essentially looking for modifier key parity with ns ala:

http://bzr.savannah.gnu.org/lh/emacs/trunk/annotate/head:/lisp/term/ns-win.el#L182

On Windows, that list would probably look like:

    (defvaralias 'pc-allow-anti-aliasing 'pc-antialias-text)
    (defvaralias 'pc-windows-modifier 'pc-windows-modifier)
    (defvaralias 'pc-right-windows-modifier 'pc-right-windows-modifier)
    (defvaralias 'pc-control-modifier 'pc-control-modifier)
    (defvaralias 'pc-right-control-modifier 'pc-right-control-modifier)
    (defvaralias 'pc-alt-modifier 'pc-alt-modifier)
    (defvaralias 'pc-right-alt-modifier 'pc-right-alt-modifier)
    (defvaralias 'pc-function-modifier 'pc-function-modifier)
    (defvaralias 'pc-apps-modifier 'pc-apps-modifier)

And then you could set them using the same contract that I listed in
the opening mail.

Make sense?





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#9897: 24.0.90; w32 control character configuration is severely lacking compared to ns-win.el
  2011-10-28 19:43   ` Tim Visher
@ 2011-10-29  4:03     ` Jason Rumney
  2011-10-30  1:39       ` Tim Visher
  0 siblings, 1 reply; 5+ messages in thread
From: Jason Rumney @ 2011-10-29  4:03 UTC (permalink / raw)
  To: Tim Visher; +Cc: 9897

Tim Visher <tim.visher@gmail.com> writes:

> I'm essentially looking for modifier key parity with ns ala:
>
> http://bzr.savannah.gnu.org/lh/emacs/trunk/annotate/head:/lisp/term/ns-win.el#L182
>
> On Windows, that list would probably look like:
>
>     (defvaralias 'pc-allow-anti-aliasing 'pc-antialias-text)

Antialiasing can be specified on a per-font level with the Windows font
backends.  This is documented in the Emacs manual.

>     (defvaralias 'pc-windows-modifier 'pc-windows-modifier)

w32-lwindow-modifer

>     (defvaralias 'pc-right-windows-modifier 'pc-right-windows-modifier)

w32-rwindow-modifier

>     (defvaralias 'pc-control-modifier 'pc-control-modifier)
>     (defvaralias 'pc-right-control-modifier 'pc-right-control-modifier)
>     (defvaralias 'pc-alt-modifier 'pc-alt-modifier)

Standard keyboard keys can be remapped outside of Emacs. Commonly this
is done to swap left-control and caps-lock, for example, see
http://www.emacswiki.org/emacs/SwapControlAltAndCapsLock

>     (defvaralias 'pc-right-alt-modifier 'pc-right-alt-modifier)

See above, and also w32-recognize-altgr

>     (defvaralias 'pc-function-modifier 'pc-function-modifier)

No idea which key you mean here. If you mean the Fn key present on some
laptop keyboards, I beleive this is handled by the keyboard hardware or
low level drivers, and not exposed by the OS.

>     (defvaralias 'pc-apps-modifier 'pc-apps-modifier)

w32-apps-modifier





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#9897: 24.0.90; w32 control character configuration is severely lacking compared to ns-win.el
  2011-10-29  4:03     ` Jason Rumney
@ 2011-10-30  1:39       ` Tim Visher
  0 siblings, 0 replies; 5+ messages in thread
From: Tim Visher @ 2011-10-30  1:39 UTC (permalink / raw)
  To: Jason Rumney; +Cc: 9897

On Sat, Oct 29, 2011 at 12:03 AM, Jason Rumney <jasonr@gnu.org> wrote:
> Tim Visher <tim.visher@gmail.com> writes:
>
>> I'm essentially looking for modifier key parity with ns ala:
>>
>> http://bzr.savannah.gnu.org/lh/emacs/trunk/annotate/head:/lisp/term/ns-win.el#L182
>>
>> On Windows, that list would probably look like:
>>
>>     (defvaralias 'pc-allow-anti-aliasing 'pc-antialias-text)

My point with these and the many lines you inlined pointing me to the
various w32-* variables is that the ns-* variables are more robust and
easier to use than the w32 variables. For instance, ns-* exposes
right, left, and both as variables, while w32 only exposes right/left.
ns-* also exposes option, command, and control, while w32-* exposes
none of alt/windows/control, and leaves it to be configured through
hard-swapping the keys through registry hacks.

>>     (defvaralias 'pc-control-modifier 'pc-control-modifier)
>>     (defvaralias 'pc-right-control-modifier 'pc-right-control-modifier)
>>     (defvaralias 'pc-alt-modifier 'pc-alt-modifier)
>
> Standard keyboard keys can be remapped outside of Emacs. Commonly this
> is done to swap left-control and caps-lock, for example, see
> http://www.emacswiki.org/emacs/SwapControlAltAndCapsLock

My point is not that it's impossible to remap these keys outside of
emacs. My point is that the mac os remapping feature is far more
robust than the windows feature. For me, I am unable to remap these
keys outside of emacs as I need to be able to pair program with other
people on these machines at work. I just want them to be remapped
inside emacs, which I can do easily on os x, but not at all on
windows.

The reason that I ran up against this at all is that I'm trying to
move away from having caps lock be control as I've begun to experience
emacs pinky. I would like to have the command/alt key be control,
option/windows key be meta, and control/[apps|control] be super on the
two platforms, only in emacs. This is possible on the mac but not
possible on windows.

>>     (defvaralias 'pc-function-modifier 'pc-function-modifier)
>
> No idea which key you mean here. If you mean the Fn key present on some
> laptop keyboards, I beleive this is handled by the keyboard hardware or
> low level drivers, and not exposed by the OS.

It may or may not be exposed by the OS, but on the Mac it is exposed.
If it's not possible because of low-level operating system details, I
understand, and perhaps that should be documented, but the point is
that when comparing the configurability of the two systems, windows is
lagging behind the mac by leaps and bounds.





^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-10-30  1:39 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-28 15:14 bug#9897: 24.0.90; w32 control character configuration is severely lacking compared to ns-win.el Tim Visher
2011-10-28 18:47 ` Eli Zaretskii
2011-10-28 19:43   ` Tim Visher
2011-10-29  4:03     ` Jason Rumney
2011-10-30  1:39       ` Tim Visher

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.