In puppylinux, how to disable laptop keyboard, use USB keyboard instead?

deodhar

New Member
Joined
Sep 19, 2021
Messages
13
Reaction score
2
Credits
96
I am using puppylinux (xenialpup64 7.5) on Asus x55c laptop.
The laptop's keyboard has aged and behaves weired, typing some letters automatically.
So I have attached another usb keyboard.

In Lubuntu, in order to get rid of weired keyboard, I am using these commands....
Code:
$ xinput list
(gives me id of AT Translated Set 2 keyboard)

That I use like this...
Code:
$ xinput float 6
(where the id is 6)

Now, in xenialpup, I do not get "AT Translated Set 2 keyboard" by firing $ xinput list
I gives just ....

Code:
root# xinput list
⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
⎜   ↳ Synaptics Mouse                             id=6    [slave  pointer  (2)]
⎜   ↳ Mouse0                                      id=7    [slave  pointer  (2)]
⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]
    ↳ Keyboard0                                   id=8    [slave  keyboard (3)]

Pl. help me regarding how to disable laptop keyboard.

Thanks.
 


In xinput to temporarily disable an item it would be
Code:
xinput --disable id=#
it looks like that would be id=8 for you keyboard0 so that would be
Code:
xinput --disable 8
to re-enable it that would be
Code:
xinput --enable 8
or reboot
 
@Lord Boltar
Code:
xinput --disable 8
disables both keyboards, laptop's native keyboard and USB keyboard.
Code:
$ xinput float 8
also does same thing.

Pl. help me disabling only the native keyboard, and keeping alive USB keyboard.
In LUbuntu, it lists "AT Translated Set 2 keyboard" separately.
But in puppylinux, it doesn't.
 
There a simple approach (hopefully works, I may have omitted something):
Code:
sudo -i

// Looksie
ls -la /dev/input/by-id/

// If you've ID'd your troublesome keyboard, add a rule to xconf
nano /etc/X11/xorg.conf.d/20-laptop-keyboard.conf

// Copy paste and fill in the identifier
Section "InputDevice"
    Identifier    "<name from /dev/input/by-id>"
    Driver        "kbd"
    Option        "SendCoreEvents"    "false"
EndSection

// Press Ctr+o to save, Ctrl+x to exit
// Restart xsession (or reboot)

A less elegant approach, depends on the fact that many laptops use an internal USB bus for input.
Code:
sudo -i

// Have a look and see if you recognise the keyboard
ls -la /dev/input/by-id/

// Get Keyboard Product ID (and Vendor ID)
lsusb

// When you find the product/vendor ID you need to blacklist it.
nano /etc/udev/rules.d/55-laptop-kbd.rules

// Add this text
SUBSYSTEM==usb, ATTRS{idProduct}=="<product ID here>", AATRS{idVendor}=="<vendor ID here>", ATTR{authorized}=="0"

// Ctrl+o to save, Ctrl+x to exit. Reboot.
// Note: you may have to add the vendor ID,

Just my two cents. Hope it works or you can build off it. I'm a little rusty on my X11 btw so the first suggestion may be iffy.
 
Disable the laptop keyboard first with xinput - then plug in your USB keyboard after it is disabled - does it work then? or is the USB disabled as well

Another option is to take it apart and unplug the keyboard ribbon cable - of course that is more of a permanent solution
 
Another option is to take it apart and unplug the keyboard ribbon cable - of course that is more of a permanent solution
I actually did that in my old Windows 7 days. I spilled on the keyboard, it broke, so I actually just disconnected it and got a USB one and stuck it on top with double-sided tape, lol.
 
I actually did that in my old Windows 7 days. I spilled on the keyboard, it broke, so I actually just disconnected it and got a USB one and stuck it on top with double-sided tape, lol.
Been there done that and got a tee-shirt - LOL - I knock over a beer into my really Gateway laptop I had - yep it was toast
 
@Lord Boltar
Disable the laptop keyboard first with xinput - then plug in your USB keyboard after it is disabled - does it work then? or is the USB disabled as well
I had tried that.
It disabled the USB as well

Another option is to take it apart and unplug the keyboard ribbon cable - of course that is more of a permanent solution
I am a bit hesitant to fiddle with h/w.
 
@Fanboi
There a simple approach (hopefully works, I may have omitted something):
Code:
sudo -i
Under puppylinux, sudo doesn't work.
I tried
Code:
root# -i
#
yields just '#'
A less elegant approach, depends on the fact that many laptops use an internal USB bus for input.
Code:
// Have a look and see if you recognise the keyboard
ls -la /dev/input/by-id/

Here's my output---
Code:
root# ls -la /dev/input/by-id/
total 0
drwxr-xr-x 2 root root  60 Sep 20  2021 .
drw-rw-rw- 4 root root 440 Sep 20  2021 ..
lrwxrwxrwx 1 root root  10 Sep 20  2021 usb-04G626000611BQ2AK001NLR_ASUS_USB2.0_Webcam-event-if00 -> ../event14

// Get Keyboard Product ID (and Vendor ID)
lsusb

output---
Code:
root# lsusb
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 1bcf:2883 Sunplus Innovation Technology Inc. 
Bus 001 Device 003: ID 13d3:3362 IMC Networks Atheros AR3012 Bluetooth 4.0 Adapter
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 1c4f:0002 SiGma Micro Keyboard TRACER Gamma Ivory
Bus 003 Device 002: ID 275d:0ba6  
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

// When you find the product/vendor ID you need to blacklist it.
nano /etc/udev/rules.d/55-laptop-kbd.rules

// Add this text
SUBSYSTEM==usb, ATTRS{idProduct}=="<product ID here>", AATRS{idVendor}=="<vendor ID here>", ATTR{authorized}=="0"

// Ctrl+o to save, Ctrl+x to exit. Reboot.
// Note: you may have to add the vendor ID,
[/code]

Since I am not an expert, can't "decipher" from the output which one is product ID, vendor id of native keyboard.

Request to pl. advise me on it.

Thanks.
 
deodhar said:
Under puppylinux, sudo doesn't work.
I tried
For future reference, "su" or "su root" works on any *nix system. It's the old school method. I still use a sudo-less system myself. However, it appears you are already root based on your prompt:
deodhar said:
Entering "whoami" will confirm this. So, assuming you're logged in as root, you can go ahead.

deodhar said:
Here's my output---
Code:
root# ls -la /dev/input/by-id/
total 0
drwxr-xr-x 2 root root  60 Sep 20  2021 .
drw-rw-rw- 4 root root 440 Sep 20  2021 ..
lrwxrwxrwx 1 root root  10 Sep 20  2021 usb-04G626000611BQ2AK001NLR_ASUS_USB2.0_Webcam-event-if00 -> ../event14
That's odd. Your USB keyboard should be there. Puppy must use a different devFS. I may have to check it out.

deodhar said:
output---
root# lsusb
Code:
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 1bcf:2883 Sunplus Innovation Technology Inc.
Bus 001 Device 003: ID 13d3:3362 IMC Networks Atheros AR3012 Bluetooth 4.0 Adapter
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 1c4f:0002 SiGma Micro Keyboard TRACER Gamma Ivory
Bus 003 Device 002: ID 275d:0ba6
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
I can at least shorten that list:
Code:
Bus 003 Device 002: ID 275d:0ba6
I'm guessing your USB keyboard us white. And your webcam Sunplus Innovation Technologies. Your laptop keyboard is this: 275d:0ba6

deodhar said:
Since I am not an expert, can't "decipher" from the output which one is product ID, vendor id of native keyboard.
The hex:hex numbers. They represent VendorID: ProductID. A'la 275d:0ba6. Looking these values up on the net is very useful. For example, your laptop's keyboard is an HID OMNIKEY 6121 Mobile ;)

...Yeah... *Getting back to the point*...
So my first option won't work (at least in terms of my not recalling how/if X11 can/does handle IDs of hardware.
Sooo... try step two. I'll repost it with everything filled in:

Code:
// Become root if not (check "whoami", if not root, enter "su".

// We doxxed your keyboard. Time to blacklist it...
nano /etc/udev/rules.d/55-laptop-kbd.rules

// Add this text
SUBSYSTEM==usb, ATTRS{idProduct}=="0ba6", AATRS{idVendor}=="275d", ATTR{authorized}=="0"

// Ctrl+o to save, Ctrl+x to exit. Reboot.

Hope it works! Let us know.
 
Puppy typically runs on Slackware variations, but can have access to other Distros' repos.

In Puppy you are typically always root.

My knowledge ends there.

Wiz
 
@Fanboi
// We doxxed your keyboard. Time to blacklist it...
nano /etc/udev/rules.d/55-laptop-kbd.rules

Hope it works! Let us know.
There's no file "55-laptop-kbd.rules" in "/etc/udev/rules.d/"
The contents are as shown in attached screenshot.
(there's a file "55-cups.rules")
screenshot-1.png
 
@Fanboi

There's no file "55-laptop-kbd.rules" in "/etc/udev/rules.d/"
The contents are as shown in attached screenshot.View attachment 10297
No, no, I meant to create the file. The numbers are a priority level and usually quite arbitrarily assigned these days to avoid conflicts. Anyways, sorry, should've been clearer.

Anyway, easier way than a text editor. Copy + paste into terminal and hit Enter.
Code:
echo 'SUBSYSTEM==usb, ATTRS{idProduct}=="0ba6", AATRS{idVendor}=="275d", ATTR{authorized}=="0"' > /etc/udev/rules.d/60-laptop-kbd.rules
Then just reboot.
 
Puppy typically runs on Slackware variations, but can have access to other Distros' repos.

In Puppy you are typically always root.

My knowledge ends there.

Wiz
I'll keep that in mind if I ever stumble across another Puppy user.
 
Thanks Daz, I was going to mention you, but I wasn't sure how long it had been since you were active in Puppy and puppy-like OSes. :)

Mike Walsh at puppy is good value, I used to work with him on another forum a couple of years ago.

Wizard out for my evening. Cheers
 
@Fanboi
Code:
echo 'SUBSYSTEM==usb, ATTRS{idProduct}=="0ba6", AATRS{idVendor}=="275d", ATTR{authorized}=="0"' > /etc/udev/rules.d/60-laptop-kbd.rules
Then just reboot.
Did that and rebooted.
But still both the keyboards are active (laptop's KB and usb KB).
(the file "60-laptop-kbd.rules" has been created correctly. I checked).
 
@darry1966
Scratched around found this........ https://oldforum.puppylinux.com/viewtopic.php?t=442&i=1
Maybe try Puppy Linux forums and talk to someone like Mike Walsh there. Haven't used Puppy for along time so really can't help further - have to say used usb keyboards and not had this issue. Different machine though.
1. Yeah. I had posted this issue on puppylinux forum. It is very active forum (Mike Walsh is very helpful). But for this query, I am yet to get any response.
2. url you mentioned is 15 years old and a lot has been changed since then. Further, it talks about usb support not available. My query is different.
 
@Fanboi

Did that and rebooted.
But still both the keyboards are active (laptop's KB and usb KB).
(the file "60-laptop-kbd.rules" has been created correctly. I checked).
Sorry to hear. Try changing the numbers of priority.
Move
etc/udev/rules.d/60-laptop-kbd.rule
To
etc/udev/rules.d/89-laptop-kbd.rules

Long shot, but still
 


Top