Where is my keyboard, mouse and other HCI devices mounted in linux?
Solution 1:
You can get a list of USB devices connected to your machine via the command:
lsusb
You can monitor input events from USB and other devices via:
evtest
which will also tell you the device path (e.g. mouse and keyboard, as well as power button, etc.) in /dev/input/event*
. You might need to install the evtest
package for that.
This is a script (taken from this answer on Unix SE) which searches /sys
looking for USB devices (i.e. the ones with a ID_SERIAL attribute):
#!/bin/bash
for sysdevpath in $(find /sys/bus/usb/devices/usb*/ -name dev); do
(
syspath="${sysdevpath%/dev}"
devname="$(udevadm info -q name -p $syspath)"
[[ "$devname" == "bus/"* ]] && exit
eval "$(udevadm info -q property --export -p $syspath)"
[[ -z "$ID_SERIAL" ]] && exit
echo "/dev/$devname - $ID_SERIAL"
)
done
Solution 2:
I assume that you connect usb devices. When you type:
lsusb
you have list connected usb devices. You can read bus and device number. Then when you type:
lsusb -t
( bus and device number are known from lsusb ) you can read port number of device you are checking. e.g my mouse is on bus 001, device 004 and this belongs to port 14.
Now when you go to:
/sys/bus/usb/drivers/usb
you can see there is e.g symlink 1-14 which is responsible for my mouse (bus 1, port 14). You can use realpath 1-14 command to see where this symlink leads
(You can disable this port by typing: echo '1-14' | sudo tee unbind )