Tag Info

Hot answers tagged

4

It buffers because your terminal is set to a line-oriented line-discipline. You need stty raw. Try this: state=$(stty -g) key=$( (stty raw ; dd bs=1 count=1; stty $state) </dev/tty 2>/dev/null) But that will only work for single-byte keypresses. It might be a good idea to doLC_ALL=C first if there's a chance that the input could contain multi-byte ...


3

Try setting showkey output to non-buffering with the stdbuf command: stdbuf -o0 showkey -a | cat - Will show the output as keys are pressed, rather than buffering a line. stdbuf can adjust the buffering of stdin, stdout and stderr, setting them to none, line buffered, or block buffered, with a choosable block size. Very handy.


3

A pretty quick search would likely yield xev as a result. It will not show you everything that is pressed or typed in X ever. But rather, will allow you to see information about keycodes and mouse movements. However, with the -root option, you might be able to get xev to monitor the whole X session. Note, if you do this, you'll make it pretty difficult to ...


2

If your laptop keyboard has a Fn + F1 combination which triggers some action, then you cannot expect the same combination to be available on an external keyboard. The Fn modifier is handled by the keyboard controller inside the laptop, you cannot copy this behavior to the external keyboard. What you can do is attaching an action for some keyboard shortcut ...


1

kbdrate From the man page of kbdrate: Using kbdrate without any options will reset the repeat rate to 10.9 characters per second (cps) and the delay to 250 milliseconds (ms) for Intel- and M68K-based systems. So the behavior you're experiencing is as expected. You may want to adjust the delay from the problem you've stated. Try kbdrate -d 500 for ...


1

At least in my case, the problem was that the address needs to be in lower case! So, in your case, change ATTRS{address}==”00:1F:20:76:41:30” to the following: ATTRS{address}==”00:1f:20:76:41:30” In case that doesn't do it, I'd double check the permissions. Also, udev should set a DEVNAME variable (among others) which you can use, so you don't really ...



Only top voted, non community-wiki answers of a minimum length are eligible