Subject: bug#17565: 24.3.91; numpad inserts wrong digits

From: Josh Tilles <[email-masked]>
Date: Tue, 27 May 2014 13:23:58 -0400

When I had first created the ticket, I had only started Emacs with
--no-init-file. However, I just verified that the behavior still shows
up by starting Emacs with -Q.

I'm using a Kinesis Advantage Pro keyboard, and in case you're not
familiar with the model, an image is available here:
https://www.washington.edu/itconnect/wp-content/uploads/2013/06/kinesisadvantagepro.jpg

I am running Emacs 24.3 and 24.3.91 "side-by-side" by keeping the 24.3
Emacs.app in /Applications but keeping the 24.3.91 Emacs.app in
~/Applications (i.e., /Users/joshua.tilles/Applications/Emacs.app vs
/Applications/Emacs.app)

It might be relevant that I have an unusual keyboard layout: I've done
(most of) the customization using OS X's Keyboard Layouts, not by
using Kinesis's built-in remapping ability. The keyboard customization
file follows, abbreviated to only the relevant portions:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE keyboard SYSTEM
"file://localhost/System/Library/DTDs/KeyboardLayout.dtd">
<keyboard group="0" id="…" name="…" maxout="1">
  <layouts>…</layouts>
  <modifierMap id="modifiers" defaultIndex="0">…</modifierMap>
  <keyMapSet id="ANSI">
        <!-- keycodes can be found in HIToolbox/Events.h (prefixed
kVK_ANSI_) -->
        <!-- and
http://lists.apple.com/archives/carbon-dev/2009/Jan/msg00101.html -->
        <keyMap index="0">
          …
          <!-- numpad -->
          <key code="71"  output="&#x1B;"/>             <!-- Num Lock
         -->
          <key code="81"  output="/"/>                  <!-- Num =
                 -->
          <key code="75"  output="*"/>                  <!-- Num /
                 -->
          <key code="67"  output="-"/>                  <!-- Num *
                 -->
          <key code="89"  output="1"/>                  <!-- Num 7
                 -->
          <key code="91"  output="2"/>                  <!-- Num 8
                 -->
          <key code="92"  output="3"/>                  <!-- Num 9
                 -->
          <key code="78"  output="+"/>                  <!-- Num -
                 -->
          <key code="86"  output="4"/>                  <!-- Num 4
                 -->
          <key code="87"  output="5"/>                  <!-- Num 5
                 -->
          <key code="88"  output="6"/>                  <!-- Num 6
                 -->
          <key code="69"  output="+"/>                  <!-- Num +
                 -->
          <key code="83"  output="7"/>                  <!-- Num 1
                 -->
          <key code="84"  output="8"/>                  <!-- Num 2
                 -->
          <key code="85"  output="9"/>                  <!-- Num 3
                 -->
          <key code="76"  output="&#x03;"/>             <!-- Enter
                 -->
          <key code="82"  output="0"/>                  <!-- Num 0
                 -->
          <key code="65"  output="."/>                  <!-- Decimal
Sep.       -->
         …
       </keyMap>
  </keyMapSet>
  …
  <actions>…<actions>
  <terminators>…</terminators>
</keyboard>