Can't type letter "d" in terminal

As the title says, I am not able to type “d” when in terminal. I found similar problems on ubuntu, but not a solution. I can copy and paste the letter. It does not work even when I try to write it in console mode. I am using Fedora 37 on Thinkpad P52.
I had some keyboard shortcuts enabled, but none of them used letter d and I removed them all, but that didn’t help.

Welcome to ask.fedora @vojtcek

The easiest way to check is to create a new user und log in with this. If you can use your keyboard normally, you have to clean up your profile.

Could it be that you have different locales in Terminal and in the DE? Which De are you using.
Best would be if you copy and paste the output of inxi -Fzx as pre formatted </> text here to see how your configuration is.

localectl would give info about the locales you use.



  1. Does not work on Fedora in terminal (probably gnome-terminal)
  2. Does not work on console
  3. Does not work on Ubuntu

My guess is that your keyboard does not work anywhere.

Thank you for your reply!
I just tried to create a new profile, didn’t work either.
I am using the default Gnome desktop. The bug happened out of nowhere.

inxi -Fzx output:

  Kernel: 6.0.11-300.fc37.x86_64 arch: x86_64 bits: 64 compiler: gcc
    v: 2.38-25.fc37 Desktop: GNOME v: 43.1 Distro: Fedora release 37 (Thirty
  Type: Laptop System: LENOVO product: 20MAS3HG0Q v: ThinkPad P52
    serial: <superuser required>
  Mobo: LENOVO model: 20MAS3HG0Q serial: <superuser required> UEFI: LENOVO
    v: N2CET65W (1.48 ) date: 08/01/2022
  ID-1: BAT0 charge: 84.7 Wh (100.0%) condition: 84.7/90.0 Wh (94.2%)
    volts: 12.7 min: 11.2 model: SMP 01AV496 status: full
  Info: 6-core model: Intel Core i7-8850H bits: 64 type: MT MCP
    arch: Coffee Lake rev: A cache: L1: 384 KiB L2: 1.5 MiB L3: 9 MiB
  Speed (MHz): avg: 1867 high: 2600 min/max: 800/4300 cores: 1: 800 2: 2600
    3: 2600 4: 847 5: 864 6: 2600 7: 2600 8: 2600 9: 2600 10: 2600 11: 900
    12: 800 bogomips: 62399
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Device-1: Intel CoffeeLake-H GT2 [UHD Graphics 630] vendor: Lenovo
    driver: i915 v: kernel arch: Gen-9.5 bus-ID: 00:02.0
  Device-2: NVIDIA GP107GLM [Quadro P2000 Mobile] vendor: Lenovo
    driver: nvidia v: 520.56.06 arch: Pascal bus-ID: 01:00.0
  Device-3: Chicony Integrated Camera (1280x720@30) type: USB
    driver: uvcvideo bus-ID: 1-8:3
  Display: x11 server: X.Org v: 1.20.14 with: Xwayland v: 22.1.5 driver: X:
    loaded: modesetting unloaded: fbdev,nouveau,nvidia,vesa dri: iris gpu: i915
    resolution: 1920x1080~60Hz
  API: OpenGL v: 4.6 Mesa 22.2.3 renderer: Mesa Intel UHD Graphics 630 (CFL
    GT2) direct render: Yes
  Device-1: Intel Cannon Lake PCH cAVS vendor: Lenovo driver: snd_hda_intel
    v: kernel bus-ID: 00:1f.3
  Device-2: NVIDIA GP107GL High Definition Audio driver: snd_hda_intel
    v: kernel bus-ID: 01:00.1
  Sound API: ALSA v: k6.0.11-300.fc37.x86_64 running: yes
  Sound Server-1: PulseAudio v: 16.1 running: no
  Sound Server-2: PipeWire v: 0.3.61 running: yes
  Device-1: Intel Cannon Lake PCH CNVi WiFi driver: iwlwifi v: kernel
    bus-ID: 00:14.3
  IF: wlp0s20f3 state: up mac: <filter>
  Device-2: Intel Ethernet I219-LM vendor: Lenovo driver: e1000e v: kernel
    port: N/A bus-ID: 00:1f.6
  IF: enp0s31f6 state: down mac: <filter>
  Device-1: Intel Bluetooth 9460/9560 Jefferson Peak (JfP) type: USB
    driver: btusb v: 0.8 bus-ID: 1-14:6
  Report: rfkill ID: hci0 rfk-id: 3 state: up address: see --recommends
  Local Storage: total: 1.13 TiB used: 171.01 GiB (14.8%)
  ID-1: /dev/nvme0n1 vendor: Crucial model: CT1000P5PSSD8 size: 931.51 GiB
    temp: 28.9 C
  ID-2: /dev/nvme1n1 vendor: Patriot model: M.2 P310 240GB size: 223.57 GiB
    temp: 27.9 C
  ID-1: / size: 929.93 GiB used: 170.7 GiB (18.4%) fs: btrfs
    dev: /dev/nvme0n1p3
  ID-2: /boot size: 973.4 MiB used: 278.7 MiB (28.6%) fs: ext4
    dev: /dev/nvme0n1p2
  ID-3: /boot/efi size: 598.8 MiB used: 32.8 MiB (5.5%) fs: vfat
    dev: /dev/nvme0n1p1
  ID-4: /home size: 929.93 GiB used: 170.7 GiB (18.4%) fs: btrfs
    dev: /dev/nvme0n1p3
  ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) dev: /dev/zram0
  System Temperatures: cpu: 46.0 C mobo: N/A
  Fan Speeds (RPM): N/A
  Processes: 631 Uptime: 1h 24m Memory: 15.25 GiB used: 2.65 GiB (17.4%)
  Init: systemd target: graphical (5) Compilers: gcc: 12.2.1 Packages: 16
  note: see --rpm Shell: Bash v: 5.2.9 inxi: 3.3.23

localectl output:

System Locale: LANG=en_US.UTF-8
       VC Keymap: cz
      X11 Layout: cz

(I am using czech keyboard and czech lang. by default, i just switched to english to take a screenshot of some other problem I was facing)

Edit: I also tried to switch keyboard layouts and language, didn’t help either :frowning:

Thank you for your reply.
I am sorry, English is not my first language, so I probably didn’t write what I meant.
The letter on my keyboard works everywhere else. It is just a problem with the terminal.
I was looking for possible solutions before I posted here and found, that someone had a similar problem on ubuntu with e and d keys, but I couldn’t find how to solve the problem.

You can include the English output in your command, no need to change the locale. Check here:

Now I’m curious. If you install alacritty terminal do you get the same issues?

Lets call this what it most likely is. A keyboard failure.

You tried a terminal, console, and a different OS with the same result. The common factor is the keyboard.

Then why would the key fail specifically for terminal?
Also I did not try it on Ubuntu, that was just badly written sentence.

Thank you for the tip. Tried to install alacritty, the same problem occurs.
I don’t think it is a keyboard failure as others say, because I am typing on it right now and everything works normally. I am gonna try to boot into windows to see if there is any problem with the key.

Edit: booted in Windows, and the key works normally - in text editor, cmd, powershell.

Do you have the same issue using xterm?

1 Like

Hey buddy!

If you can pop off the key, try cleaning the PCB with some isopropil spray.
Worth a go! :wink:

If you run env -i PATH=/usr/bin bash --noprofile --norc are you able to type?
Does it do the same with a new user?

Has /etc/inputrc been modified at all?


Thank you all for replies! I am currently without my laptop, but I’ll try out your advices after weekend.

Yes, xterm behaves the same way.

so I ran env -i PATH=/usr/bin bash --noprofile --norc and again the same problem, everything except the letter D worked.

I am going to try:

  1. Connect an external keyboard and see what that does. If that does not help:
  2. Try booting from a live usb and trying terminal there. If that does not help:
  3. Cry a bit

Just out of curriosity, does it make a difference if you type a D or a d.
Linux is case sensitive and in the title you wrote a d

1 Like

Wow, I think you might be onto something here.
Of course i made a mistake saying that i can’t write “D” and i actually found out I CAN write upper case D.
I also tried out the stuff I wrote about yesterday:

  1. Connecting an external USB Keyboard: Still the same problem, can’t write “d”
  2. Running Fedora 36 from live USB: Everything worked normally, I was able to type “d” in terminal.

My conclusion is that it is not a keyboard problem for sure, it must be something stupid I probably did, or some setting which I don’t recall changing.

I guess I’ll have to reinstall the system If I don’t find a solution.

Do you know if /etc/inputrc was modified?

mine for reference, has not been modified.


Dear Joe!
Thank you very much.
Earlier, I edited a response and said that I have not messed with inputrc. Out of curiosity I looked for the file and suddenly realised my mistake - I have messed with it.
What I did: I uncommented the line #do not bell on tab-completion because I hated how terminal bleeps when you delete a line and hold backspace longer after there is nothing to delete.
I haven’t changed anything else in there, but I guess it was enough to break something.

After that, I just searched a bit and found help here:

To be specific, command set -o viwas the one that worked.
Thank you again for your help, and also all of you who gave me advices!


If you prefer vi-mode you can add this to the inputrc file

set editing-mode vi