Disable Laptop Keyboard In Ubuntu
How to Disable Your Laptop’s Internal Keyboard in Ubuntu
Hey everyone! So, you’ve got a laptop running Ubuntu, and for some reason, you need to disable that built-in keyboard. Maybe you’ve got an external one you prefer, or perhaps your internal keyboard is acting up and causing phantom key presses. Whatever the reason, it’s totally doable! Today, we’re diving deep into how you can easily disable your laptop’s internal keyboard in Ubuntu without breaking a sweat. We’ll cover a few methods, so you can pick the one that best suits your needs. Let’s get this show on the road!
Table of Contents
Why Would You Want to Disable Your Laptop Keyboard?
Before we jump into the how , let’s chat about the why . Guys, there are a bunch of legitimate reasons why you might want to disable your laptop’s internal keyboard in Ubuntu . The most common one, for sure, is when you’re using an external keyboard . If you’ve got a fancy mechanical keyboard or a comfy ergonomic one, you probably don’t want to be accidentally typing with both at once, right? It can get confusing, and you might end up with gibberish on your screen. Another big one is if your internal keyboard is malfunctioning . We’ve all been there – sticky keys, keys that get stuck down, or even keys that type characters on their own. It’s super annoying and can make your laptop almost unusable. Disabling it temporarily can be a lifesaver while you figure out a more permanent fix, like cleaning it or getting it replaced. Sometimes, for specific tasks like drawing or using a stylus with a touch-enabled laptop, you might want to disable the keyboard to avoid accidental touches or key presses. And let’s not forget about security! In some very specific scenarios, you might want to ensure no one can use your laptop’s keyboard if you step away for a moment. So yeah, there are plenty of good reasons to know how to do this. It’s a handy trick to have up your sleeve!
Method 1: The Temporary Fix with
xinput
Alright, let’s kick things off with the
easiest and most temporary way
to
disable your laptop’s internal keyboard in Ubuntu
: using the
xinput
command. This method is fantastic because it doesn’t require any permanent changes to your system, and you can easily re-enable the keyboard whenever you want. It’s perfect for those times when you just need it off for a bit, like during a presentation or when you’re setting up a new external keyboard.
First things first, you need to identify your internal keyboard’s ID. Open up your terminal – you know, that black box where all the magic happens! – by pressing
Ctrl + Alt + T
. Once it’s open, type the following command and hit Enter:
xinput list
This command will spit out a list of all the input devices connected to your system. You’ll see things like your mouse, touchscreen, and, of course, your keyboards. Look for an entry that sounds like your laptop’s internal keyboard. It might be named something like “AT Translated Set 2 keyboard,” “Internal Keyboard,” or something similar. Pay close attention to the
id=
number associated with it. Let’s say, for example, your internal keyboard has an ID of
12
.
Now that you have the ID, you can disable it. In the same terminal window, type this command, replacing
12
with the actual ID you found:
xinput disable 12
Boom! Your internal keyboard should now be disabled. Try typing something to test it out. You’ll see that only your external keyboard (if you have one plugged in) or on-screen keyboard will work.
To re-enable it
, which is just as important, use the same
xinput
command but with
enable
instead of
disable
:
xinput enable 12
And just like that, your keyboard is back online! The beauty of
xinput
is that these changes are
not persistent
. This means as soon as you restart your laptop, the keyboard will be enabled again. This is great for quick fixes but not ideal if you
always
want it disabled.
Pro Tip:
If you find yourself doing this often, you can create a small script to quickly disable and enable your keyboard. Just save the commands into a text file (e.g.,
disable_keyboard.sh
) and make it executable (
chmod +x disable_keyboard.sh
). Then you can just run
./disable_keyboard.sh
to disable and
./enable_keyboard.sh
to re-enable (you’d need separate scripts for each).
This method is usually the go-to for most users needing a quick fix. It’s straightforward, requires minimal technical knowledge, and gets the job done without messing with deep system settings. Give it a whirl!
Method 2: Making it Permanent with
udev
Rules
Okay, so the
xinput
method is awesome for temporary needs, but what if you want your internal keyboard to stay
disabled permanently
? Like,
always
disabled, every time you boot up your Ubuntu machine? That’s where
udev
rules
come into play. This is a more robust solution, but it does involve editing system files, so let’s be careful, guys.
udev
is the device manager for the Linux kernel. It handles device events and can be configured to perform actions when a device is connected or plugged in. We’re going to create a
udev
rule that tells the system to ignore your internal keyboard.
First, we need to get some
detailed information
about your internal keyboard. We’ll use the
lsusb
and
lsinput
commands for this. Open your terminal (
Ctrl + Alt + T
) and run:
lsusb
This will list all USB devices. Look for a line that corresponds to your keyboard. It might not be immediately obvious if it’s an internal keyboard connected via USB header, but often it’s listed. If
lsusb
doesn’t give you enough info, try
lsinput
:
lsinput -v
This command lists all input devices and their properties. Again, look for your internal keyboard. You’ll want to find its
/dev/input/eventX
path (e.g.,
/dev/input/event4
).
Once you have a way to identify your keyboard (either by its
idVendor
and
idProduct
from
lsusb
, or its event path from
lsinput
), we can create the
udev
rule. You’ll need to edit a file in
/etc/udev/rules.d/
. Let’s create a new file, say
99-disable-keyboard.rules
. You’ll need root privileges for this. Use your favorite text editor, like
nano
:
sudo nano /etc/udev/rules.d/99-disable-keyboard.rules
Now, inside this file, you’ll add a rule. The exact rule depends on how you identified your keyboard. A common way is using the
idVendor
and
idProduct
if
lsusb
provided them. For example, if your internal keyboard showed up with
idVendor=046d
and
idProduct=c52b
(these are just examples, yours will be different!), you’d add a line like this:
ACTION=="add", SUBSYSTEM=="input", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52b", ENV{DISPLAY}="*:0", RUN+="/bin/sh -c 'echo 1 > /sys/class/input/event%n/mouse%/disable'"
Hold up!
That rule above is a bit complicated and might not work universally. A
simpler and more reliable
udev
rule
often involves identifying the keyboard by its name or path and then using
xinput
within the
udev
rule itself, but
udev
doesn’t directly interact with the X server like that. A more direct
udev
approach might be:
”`udev ACTION==