Skip to content

Numpad Delete key not working in version 1.107.0 (regression from 1.106.3) #283460

Open

Description

Does this issue occur when all extensions are disabled?: Yes

  • VS Code Version: 1.107.0 (commit 618725e)
  • OS Version: Kubuntu 24.04 x64

Steps to Reproduce:

  1. Open any file in the editor
  2. Place cursor in text
  3. Press Delete key from numeric keypad
  4. Observe: key does not respond/delete characters

Expected behavior: Delete key from numeric keypad should delete character at cursor position (as it does in version 1.106.3)

Actual behavior: Key press is ignored

Additional context:

  • Regular Delete key (non-numpad) works correctly
  • Issue does not occur in version 1.106.3
  • Confirmed with all extensions disabled
  • NumLock state: both on and off tested, same result

Activity

  1. A-x6 commented on Dec 14, 2025

    @A-x6

    same this happened to me too please fix this @vs-code-engineering

  2. mmasias commented on Dec 14, 2025

    @mmasias
    Author

    same this happened to me too please fix this @vs-code-engineering

    @DevFlex-AI I have a workaround with input-remapper-gtk:

    Install Input Remapper:

    sudo apt install input-remapper-gtk
    sudo systemctl enable --now input-remapper

    Run input-remapper-gtk, select your keyboard device, create new mapping:

    • Record key: press numpad Delete (captures code 83)
    • Target: Delete
    • Save and activate preset

    Restart service: sudo systemctl restart input-remapper

    This remaps numpad Delete to regular Delete at system level.

  3. obliviand commented on Dec 18, 2025

    @obliviand

    Looks like it is related to the electron upgrade between 1.106.3 and 1.170.0 which depends on a newer version of chromium with the problem:

    https://issues.chromium.org/issues/405793116
    https://issues.chromium.org/issues/429730008

    Running the jsfiddle provided by https://issues.chromium.org/issues/405793116#comment4 using chromium 1.143 still shows the same problem:

    {
      code: "NumpadDecimal",
      key: "Unidentified",
      keyCode: 110
    }
    

    version 1.106.3 used electron 37.7.0 based on package.json
    The electron release notes the previous chromium update for the 37 releases was 37.5.0
    "Updated Chromium to 138.0.7204.251"

    https://issues.chromium.org/issues/429730008#comment9 notes that the numpad decimal delete key issue appears to be versions 1.140 and above.

    version 1.107.0 uses electron 39.2.3 based on package.json
    electron 39 series moved to chromium 142 and above: https://www.electronjs.org/blog/electron-39-0

  4. added
    bugIssue identified by VS Code Team member as probable bug
    upstreamIssue identified as 'upstream' component related (exists outside of VS Code)
    regressionSomething that used to work is now broken
    chromiumIssues and items related to Chromium
    on Dec 19, 2025
  5. deepak1556 commented on Dec 19, 2025

    @deepak1556
    Collaborator

    obliviand thanks for narrowing down the upstream issue, can you run the bisect tool https://www.chromium.org/developers/bisect-builds-py/ with the minimal jsfiddle repro to narrow down the commit range that introduced the regression.

  6. obliviand commented on Dec 19, 2025

    @obliviand

    Sorry for the churn. Either my trace of versions is wrong or if the trace is correct there is something else going on. Note that the keyCode changes in the Chromium 140 versions then switches back. All I can say for sure is that same as the original report, VS Code 1.106.3 works for me and 1.107.0 does not.

    142.0.7444.0
    {
      code: "NumpadDecimal",
      key: "Unidentified",
      keyCode: 110
    }
    
    141.0.7390.0
    {
      code: "NumpadDecimal",
      key: "Unidentified",
      keyCode: 110
    }
    
    141.0.7380.0
    {
      code: "NumpadDecimal",
      key: "Unidentified",
      keyCode: 110
    }
    
    141.0.7355.0
    {
      code: "NumpadDecimal",
      key: "Unidentified",
      keyCode: 110
    }
    
    141.0.7340.0
    {
      code: "NumpadDecimal",
      key: "Unidentified",
      keyCode: 110
    }
    
    140.0.7339.0
    {
      code: "NumpadDecimal",
      key: "",
      keyCode: 46
    }
    
    140.0.7337.0
    {
      code: "NumpadDecimal",
      key: "",
      keyCode: 46
    }
    
    140.0.7332.0
    {
      code: "NumpadDecimal",
      key: "",
      keyCode: 46
    }
    
    140.0.7323.0
    {
      code: "NumpadDecimal",
      key: "",
      keyCode: 46
    }
    
    139.0.7258.0
    {
      code: "NumpadDecimal",
      key: "Unidentified",
      keyCode: 110
    }
    
    139.0.7258.0
    {
      code: "NumpadDecimal",
      key: "Unidentified",
      keyCode: 110
    }
    
    138.0.7204.251
    {
      code: "NumpadDecimal",
      key: "Unidentified",
      keyCode: 110
    }
    
    138.0.7204.0
    {
      code: "NumpadDecimal",
      key: "Unidentified",
      keyCode: 110
    }
    
  7. Daan-xyz commented on Dec 28, 2025

    @Daan-xyz

    Same issue on this machine, Fedora Linux 43.

    The ". Del" numpad key does not work (does not Del) in vscode when Num Lk is in cursor mode. Works fine in the rest of the OS. Flipping Num Lk to numeric mode does output a "."

    Version: 1.107.1
    Commit: 994fd12
    Date: 2025-12-17T14:15:14.850Z
    Electron: 39.2.3
    ElectronBuildId: 12895514
    Chromium: 142.0.7444.175
    Node.js: 22.21.1
    V8: 14.2.231.21-electron.0
    OS: Linux x64 6.17.8-300.fc43.x86_64

    Operating System: Fedora Linux 43
    KDE Plasma Version: 6.5.3
    KDE Frameworks Version: 6.20.0
    Qt Version: 6.10.1
    Kernel Version: 6.17.8-300.fc43.x86_64 (64-bit)
    Graphics Platform: Wayland
    Processors: 12 × AMD Ryzen 5 7600 6-Core Processor
    Memory: 32 GiB of RAM (30.5 GiB usable)
    Graphics Processor 1: NVIDIA GeForce RTX 4070
    Graphics Processor 2: AMD Ryzen 5 7600 6-Core Processor
    Manufacturer: ASUS

  8. A-x6 commented on Dec 28, 2025

    @A-x6

    Manuel Masías (@mmasias) thank you would you like to work on my ide with me?

  9. obliviand commented on Feb 15, 2026

    @obliviand

    Robo (@deepak1556) I had some time today to look into this further, and I tried some versions of Electron from 37.7.0 and up on vscode version 1.106.3. I found that Electron 38.2.0 broke the numpad delete key.

    It looks like it is related to Wayland detection changes electron/electron#48309

    If I use code --ozone-platform=wayland the numpad delete key does not work.
    If I use code --ozone-platform=x11 the numpad delete key works.

    I tried code --ozone-platform=x11 with the 1.109.3 release and the numpad delete key works for the latest versions too. Not sure if it breaks anything else at this point.

    After I knew what was broken, I found this in the breaking changes section for Electron 38.0.0

    Removed: ELECTRON_OZONE_PLATFORM_HINT environment variable

    The default value of the --ozone-plaftform flag changed to auto.

    Electron now runs as a native Wayland app by default when launched in a Wayland session on Linux. Some features and APIs behave differently in Wayland and X11. You can force Electron to run in X11 compatibility mode (Xwayland), like it did in older versions, by appending the flag --ozone-platform=x11.

    If Electron considers this a breaking change, then it looks like vscode needs to account for it based on whether Wayland is being used?

  10. FunctionPoint commented on Apr 25, 2026

    @FunctionPoint

    Same issue on Ubuntu 26.04, which is Wayland.
    Del key on numeric island does not work.
    Del key on separate 'island' works.
    Numlock key works, then Del key on numeric island correctly gives period character.
    Del key on numeric island works correctly in e.g. terminal app. (So its a VSCode/Electron issue)

  11. lonix1 commented on May 24, 2026

    @lonix1

    I just switched from X11 to Wayland and now have the same problem. (Ubuntu 24.04)

    Apparently this is a known bug in Chromium (not Electron).

    Workaround: explicitly map these keys in ~/.config/Code/User/keybindings.json:

    [
      { "key": "numpad_decimal",            "command": "deleteRight",                      "when": "textInputFocus && !editorReadonly" },  // delete right
      { "key": "ctrl+numpad_decimal",       "command": "deleteWordRight",                  "when": "textInputFocus && !editorReadonly" },  // delete right (words, whitespace, linebreaks)
      { "key": "alt+numpad_decimal",        "command": "deleteWordPartRight",              "when": "textInputFocus && !editorReadonly" },  // delete word part
      { "key": "shift+numpad_decimal",      "command": "editor.action.clipboardCutAction", "when": "textInputFocus && !editorReadonly" },  // cut line
      { "key": "ctrl+shift+numpad_decimal", "command": "deleteAllRight",                   "when": "textInputFocus && !editorReadonly" },  // delete all right, do not delete linebreak
      { "key": "numpad_decimal",            "command": "deleteFile",                       "when": "filesExplorerFocus && !inputFocus" },  // delete file in file explorer; ensures not currently renaming file (which would focus an input box)
    ]
  12. FunctionPoint commented on May 24, 2026

    @FunctionPoint

    lonix1 you are a lifesaver, thanks !!

    The file ~/.config/Code/User/keybindings.json did not exist yet,
    so below is the valid JSON for the complete file.

    I see the Chromium bug report has been open for almost a year,
    so maybe the kind people at Microsoft can implement the workaround in VSCode for now,
    if this works for everyone :-)

    Cheers,
    Richard

    [
    	{ "key": "numpad_decimal", "command": "deleteRight", "when": "textInputFocus && !editorReadonly" },
    	{ "key": "ctrl+numpad_decimal", "command": "deleteWordRight", "when": "textInputFocus && !editorReadonly" },
    	{ "key": "alt+numpad_decimal", "command": "deleteWordPartRight", "when": "textInputFocus && !editorReadonly" },
    	{ "key": "shift+numpad_decimal", "command": "editor.action.clipboardCutAction", "when": "textInputFocus && !editorReadonly" },
    	{ "key": "ctrl+shift+numpad_decimal", "command": "deleteAllRight", "when": "textInputFocus && !editorReadonly" }
    ]
    
    
    
  13. lonix1 commented on May 25, 2026

    @lonix1

    There are so many edge cases! For example, one cannot use numpad_del in a find/replace or global search/replace input box. One can attempt to fix it with another binding, but that would delete text in the editor rather than the input box.

    I tracked down the problem: when using the Developer: Toggle Keyboard Shortcuts Troubleshooting feature, I pressed numpad_del in a find box, and this was printed to the output log:

    [info] [Window] [KeybindingService]: / Received keydown event - modifiers: [], code: NumpadDecimal, keyCode: 110, key: Unidentified
    

    So wayland/chromium/electron sends a known key to the editor, but "Undentified" to an input box.

    The problem is probably in Wayland or Chromium or Electron.

    I decided to run in x11 compatibility mode. There are too many bugs right now. Two options:

    • code --ozone-platform=x11 .
    • or add to .bashrc/.zshrc: OZONE_PLATFORM=x11 no longer works in latest electron
    • or add to .bashrc/.zshrc: alias code="code --ozone-platform=x11"

    Very disappointing.

  14. HattonLe commented on May 31, 2026

    @HattonLe

    Been suffering from this problem (since I noticed it happening) and yet to find a fix for it...
    Recently updated from 25.10 to Ubuntu 26.04, running kernel 7.0.0 from source.
    Can't remember if this was an issue for me under 25.10. I think I was using Visual Code v1.21 back then.

    Out of desperation I just deleted all my loaded visual code extensions, and uninstalled Visual Code, then deleted by hand any .vscode hidden junk left behing in my home folder. Also deleted .vscode out of my source folder I'm using for testing.

    Just now downloaded and installed "code_1.122.1-1780040850_amd64.deb" with no issues.
    So I am running a newly installed code, with no extensions loaded as yet.
    Version: 1.122.1
    Commit: 8761a55
    Date: 2026-05-29T09:25:37+02:00
    Electron: 39.8.8
    ElectronBuildId: 13870025
    Chromium: 142.0.7444.265
    Node.js: 22.22.1
    V8: 14.2.231.22-electron.0
    OS: Linux x64 7.0.0

    Opened visual code to my test source folder, and still can't del text from my test.c file.

    My USB keyboard (RK909) has a num pad area... (I have NumLock off by default in BIOS)
    The "<--" delete key works fine.
    The numpad ". Del" key doesn't delete text.
    The "Del" at top of keyboard, at end of the function key row also doesn't delete text either.

    All keys tested as working fine in other apps, e.g. text editor.... Note after further testing I found that
    the "Del" at the end of the function key row at top of keyboard does not seem to work at all - Using a online
    keyboard checker I can't get a keycode out of it (or the PrtSc key), so I'm investigating the kernel drivers to try
    and find out why that is.

    As a test I just tried the "~/.config/Code/User/keybindings.json" hack above from lonix1. The numpad ". Del" now works.

    Hope that feedback helps.
    :o)

  15. lonix1 commented on Jun 1, 2026

    @lonix1

    HattonLe One can add workarounds for some shortcuts, but not all. The problem is upstream in chromium - you might want to bump that thread.

  16. x80486 commented on Sep 24, 2026

    @x80486

    This is finally fixed in 152.x 🥳

    Hope you can update to that version any time soon!

  17. rgiordani commented on Oct 7, 2026

    @rgiordani

    Same issue on Ubuntu 26.04, GNOME/Wayland, VS Code 1.140.0 (commit 07f806f, x64).

    • The compositor sends the right keysym: wev / xkbcli interactive-wayland show KP_Delete (NumLock off) and KP_Decimal (NumLock on).
    • With --ozone-platform=wayland Electron reports key: Unidentified:
      Received  keydown event - modifiers: [], code: NumpadDecimal, keyCode: 110, key: Unidentified
      Converted keydown event - modifiers: [], code: NumpadDecimal, keyCode: 112 ('NumPad_Decimal')
    
    • With --ozone-platform=x11 the key works, so the bug seems to be in the Ozone/Wayland key mapping of KP_Delete.

    Workaround: a user xkb option mapping <KPDL> to [ Delete, KP_Decimal ] makes it work on Wayland.

    ~/.config/xkb/symbols/kpdlfix:

    partial keypad_keys
    xkb_symbols "delete" {
        key <KPDL> { type = "KEYPAD", [ Delete, KP_Decimal ] };
    };
    

    ~/.config/xkb/rules/evdev:

    ! include %S/evdev
    
    ! option = symbols
      kpdlfix:delete = +kpdlfix(delete)
    

    Then add kpdlfix:delete to org.gnome.desktop.input-sources xkb-options and log out/in.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

bugIssue identified by VS Code Team member as probable bugchromiumIssues and items related to ChromiumelectronIssues and items related to Electronelectron-39-updateregressionSomething that used to work is now brokenupstreamIssue identified as 'upstream' component related (exists outside of VS Code)

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions