Bug 14061

Summary: Cannot use numlock if placed on shifted key; invokes Pointer_EnableKeys
Product: xkeyboard-config Reporter: Mohammed Adnène Trojette <adn>
Component: GeneralAssignee: xkb
Status: RESOLVED INVALID QA Contact:
Severity: normal    
Priority: medium CC: acolomb, alexeyten+deb, dmitry.kurochkin, svu
Version: unspecified   
Hardware: Other   
OS: All   
URL: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=460246
Whiteboard:
i915 platform: i915 features:

Description Mohammed Adnène Trojette 2008-01-13 10:38:09 UTC
Here is a bug reported to Debian's BTS.

------------
Some keyboards, such as those on many IBM ThinkPads, have the num lock
key on the shifted scroll lock key.  (Why they didn't do that the
other way around I wish I knew.)  As a result, when pressing num lock,
it always gets interpreted with the shift modifier, resulting in
Pointer_EnableKeys instead.
------------

A discussion has already taken place on <https://bugs.launchpad.net/ubuntu/+source/xkeyboard-config/+bug/35080>. And it seems that Ubuntu decided to modify the following block:

  /etc/X11/xkb/symbols/pc:
  key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] };

What do you think would be the best solution?
Comment 1 Sergey V. Udaltsov 2008-01-13 15:31:45 UTC
What I propose is changing "thinkpad" section in symbols/inet by adding the following:

 key <NMLK> {   [  Num_Lock, Num_Lock         ]       };

Would it work for you?
Comment 2 Mohammed Adnène Trojette 2008-04-30 18:36:23 UTC
*** Bug 15784 has been marked as a duplicate of this bug. ***
Comment 3 Dmitry Kurochkin 2008-05-18 07:16:54 UTC
Hi!

I also had issues with numlock key on thinkpad t61p.
I put grp_led:num XkbOptions to indicate layout and it did not work. Led did not light up when layout is changed. But xkbvleds showed that num led is on and when shift+numlock or FN+numlock is pressed the led turns on.

I have solved this by going to BIOS settings Config -> Keyboard/Mouse and setting Numlock option to Synchronized.

After that numled indication works as expected. Xev shows that FN+numlock generates Num_Lock and Shift+numlock generates Pointer_EnableKeys. That looks correct to me.

Also I have tried Sergey's proposal. I added

 key <NMLK> {   [  Num_Lock, Num_Lock         ]       };

to symbols/inet and switched the BIOS setting back to Independent. This does not help (I have checked xmodmap -pke that changes are actually there).

I do not completely understand the problem, but it looks like in independent numlock mode (which was default on my laptop), numlock is handled internally by firmware.

So the bottom line: switch bios numlock option to synchronized. Now FN+numlock works as numlock and Shift+numlock works as Shift+numlock. No changes to xkb are needed.

Hope that helps. If you need any additional info or help I am ready to do testing, debugging, etc.

Regards,
  Dmitry
Comment 4 Josh Triplett 2008-09-08 23:16:06 UTC
*** Bug 8412 has been marked as a duplicate of this bug. ***
Comment 5 Sergey V. Udaltsov 2008-12-22 15:44:18 UTC
I guess Dmitry's advice provides the required solution. Thanks Dmitry!

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.