I am used to use the numeric keypad for navigation (e.g. : KP7 -> Start, KP1 -> End, KP4 -> Left, etc... ). I am also used to use it for selection (e.g. : Shift+KP7 -> Select from cursor position to beginning of line, Shift+KP1 -> Select from cursor position to end of line, etc...)

With the keyboard configuration installed with Ubuntu, though, Shift+KP7 prints the character "7", Shift+KP1 prints "1", etc...

How can I change this so that Shift+KP-key is not mapped to key, but to Shift+KP-key ?


4 Answers 4


I finally found out there was a standard ubuntu option to set this :

  • Open "keyboard preferences" ; in the "Layouts" tab, click the "Options..." buton
  • Look for the "Miscellaneous compatibility options" group
  • Select the "Shift with numeric keypad keys work as in MS Windows" checkbox.

EDIT 1: In newer versions (eg.Ubuntu 18.04) look at Tweaks> Keyboard and Mouse>Additional Layout options>Miscellaneous compatibility options>"Num Lock on: digits; Shift for arrow keys. Num Lock off: arrow keys (as in Windows)"

EDIT 2: Or, as suggested in XUbuntu: Make Shift+NumPad work like Windows

Use the following command as workaround:
setxkbmap -option 'numpad:microsoft'

In order to run the above command automatically when starting the graphical desktop environment, create an Application Startup entry:
Search for Startup Applications > Add

          Name: Make Shift+NumPad work like MS Windows
Description: whatsoever
   Command:setxkbmap -option 'numpad:microsoft'

  • 1
    To install Tweaks: sudo apt install gnome-tweaks
    – AlainD
    Sep 4, 2019 at 8:38
  • To install Tweak Tool: sudo apt install gnome-tweak-tool Look for the Typing tab if not finding the setting elsewhere.
    – juanitogan
    Feb 2, 2020 at 7:52

May not be the exact method, but think this helps

# gconf-editor

If gocnf-editor is not installed, install it with apt-get.

Then browse to apps->metacity->global_keybindings.

There you can find Name and value columns. Some are filled. Unfilled ones have "value" set as "disabled". Select anyone of them and set the desired key.

Now you have to assign the command to be invoked. For that move to the next option "keybinding_commands" (apps->metacity->keybinding_commands). Corresponding to the Name-Value pair set earlier set the command to be invoked.


On uBuntu 18.04: Another options is to use Dconf-Editor, a powerful GUI for most uBuntu settings. If not installed, open Terminal and type:

  • apt-get update
  • apt-get install dconf-editor -y

Open dconf Editor, then /org/gnome/desktop/input-sources/xkb-options.

On a fresh uBuntu installation, Custom value will be blank. Turn Use default value OFF then:

  • insert ['numpad:microsoft'] (if blank) or
  • append , 'numpad:microsoft' (after whatever is there, if not blank)

For example, ['caps:none', 'numpad:microsoft'] which both disables Caps Lock and uses the NumPad as in Windows.


for ubuntu 22.04

  1. install Tweaks from snap store.
  2. choose keyboard and mouse left-side tab
  3. click additional layout options
  4. click Compatibility options
  5. click shift does not cancel Num lock, choose 3rd level instead Done

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .