Showkey with timestamp

Multi tool use
How can I record keyboard actions with the timestamp, either to console, or preferably to a file?
I have showkey output like:
keycode 28 release
keycode 30 press
keycode 30 release
keycode 48 press
keycode 48 release
And I'd like it to be:
keycode 30 press 1551027529
keycode 30 release 1551027532
keycode 48 press 1551027534
keycode 48 release 1551027536
keycode 46 press 1551027542
keycode 46 release 1551027548
keycode 32 press 1551027549
keycode 32 release 155102751
I looked at How to modify output in bash command pipeline and have tried:
sudo showkey | awk -v date="$(date +%s)" '{print $1 date}'
And there is no output at all.
I've tried a while
loop:
echo MY_PASSWORD |
stdbuf -o0 sudo -S showkey |
while read line;
do
echo "$line":$(date +%s) >> /home/reedbear/user_scripts/output.txt;
done
And my output shows the keypresses, but they all have the same time stamp, as I assume the while loop is evaluated with the full output of showkey
when it is finished.
I don't know what stdbuf
does, but I saw it somewhere last night. It does the same thing without it.
io-redirection keyboard timestamps output keyboard-event
add a comment |
How can I record keyboard actions with the timestamp, either to console, or preferably to a file?
I have showkey output like:
keycode 28 release
keycode 30 press
keycode 30 release
keycode 48 press
keycode 48 release
And I'd like it to be:
keycode 30 press 1551027529
keycode 30 release 1551027532
keycode 48 press 1551027534
keycode 48 release 1551027536
keycode 46 press 1551027542
keycode 46 release 1551027548
keycode 32 press 1551027549
keycode 32 release 155102751
I looked at How to modify output in bash command pipeline and have tried:
sudo showkey | awk -v date="$(date +%s)" '{print $1 date}'
And there is no output at all.
I've tried a while
loop:
echo MY_PASSWORD |
stdbuf -o0 sudo -S showkey |
while read line;
do
echo "$line":$(date +%s) >> /home/reedbear/user_scripts/output.txt;
done
And my output shows the keypresses, but they all have the same time stamp, as I assume the while loop is evaluated with the full output of showkey
when it is finished.
I don't know what stdbuf
does, but I saw it somewhere last night. It does the same thing without it.
io-redirection keyboard timestamps output keyboard-event
1
Thatwhile read
loop looks like it should work, unlessshowkey
insists on buffering the output. If you doshowkey | cat
, does the output come immediately, line-by-line? What aboutstdbuf -o0 showkey | cat
?
– ilkkachu
Feb 24 at 17:35
sudo showkey | cat
does not show output until it terminates (I stop pressing keys for 10 seconds)
– Reed
Feb 24 at 17:36
thestdbuf
line does the same thing
– Reed
Feb 24 at 17:37
2
well, that would seem it doesn't lend itself nicely to being redirected to a pipe. Though the source code I can find in Debian seems to useprintf
as usual, sostdbuf
should work on it. I don't have a machine at hand to test it, though.
– ilkkachu
Feb 24 at 17:46
Seems strange to me. I'm not well practiced with bash, though. Learned more today and last night than ever before lol. I'm now looking for other ways to listen to keyboard actions
– Reed
Feb 24 at 17:55
add a comment |
How can I record keyboard actions with the timestamp, either to console, or preferably to a file?
I have showkey output like:
keycode 28 release
keycode 30 press
keycode 30 release
keycode 48 press
keycode 48 release
And I'd like it to be:
keycode 30 press 1551027529
keycode 30 release 1551027532
keycode 48 press 1551027534
keycode 48 release 1551027536
keycode 46 press 1551027542
keycode 46 release 1551027548
keycode 32 press 1551027549
keycode 32 release 155102751
I looked at How to modify output in bash command pipeline and have tried:
sudo showkey | awk -v date="$(date +%s)" '{print $1 date}'
And there is no output at all.
I've tried a while
loop:
echo MY_PASSWORD |
stdbuf -o0 sudo -S showkey |
while read line;
do
echo "$line":$(date +%s) >> /home/reedbear/user_scripts/output.txt;
done
And my output shows the keypresses, but they all have the same time stamp, as I assume the while loop is evaluated with the full output of showkey
when it is finished.
I don't know what stdbuf
does, but I saw it somewhere last night. It does the same thing without it.
io-redirection keyboard timestamps output keyboard-event
How can I record keyboard actions with the timestamp, either to console, or preferably to a file?
I have showkey output like:
keycode 28 release
keycode 30 press
keycode 30 release
keycode 48 press
keycode 48 release
And I'd like it to be:
keycode 30 press 1551027529
keycode 30 release 1551027532
keycode 48 press 1551027534
keycode 48 release 1551027536
keycode 46 press 1551027542
keycode 46 release 1551027548
keycode 32 press 1551027549
keycode 32 release 155102751
I looked at How to modify output in bash command pipeline and have tried:
sudo showkey | awk -v date="$(date +%s)" '{print $1 date}'
And there is no output at all.
I've tried a while
loop:
echo MY_PASSWORD |
stdbuf -o0 sudo -S showkey |
while read line;
do
echo "$line":$(date +%s) >> /home/reedbear/user_scripts/output.txt;
done
And my output shows the keypresses, but they all have the same time stamp, as I assume the while loop is evaluated with the full output of showkey
when it is finished.
I don't know what stdbuf
does, but I saw it somewhere last night. It does the same thing without it.
io-redirection keyboard timestamps output keyboard-event
io-redirection keyboard timestamps output keyboard-event
edited Feb 24 at 19:41


Jeff Schaller
43.4k1160140
43.4k1160140
asked Feb 24 at 17:15


ReedReed
1012
1012
1
Thatwhile read
loop looks like it should work, unlessshowkey
insists on buffering the output. If you doshowkey | cat
, does the output come immediately, line-by-line? What aboutstdbuf -o0 showkey | cat
?
– ilkkachu
Feb 24 at 17:35
sudo showkey | cat
does not show output until it terminates (I stop pressing keys for 10 seconds)
– Reed
Feb 24 at 17:36
thestdbuf
line does the same thing
– Reed
Feb 24 at 17:37
2
well, that would seem it doesn't lend itself nicely to being redirected to a pipe. Though the source code I can find in Debian seems to useprintf
as usual, sostdbuf
should work on it. I don't have a machine at hand to test it, though.
– ilkkachu
Feb 24 at 17:46
Seems strange to me. I'm not well practiced with bash, though. Learned more today and last night than ever before lol. I'm now looking for other ways to listen to keyboard actions
– Reed
Feb 24 at 17:55
add a comment |
1
Thatwhile read
loop looks like it should work, unlessshowkey
insists on buffering the output. If you doshowkey | cat
, does the output come immediately, line-by-line? What aboutstdbuf -o0 showkey | cat
?
– ilkkachu
Feb 24 at 17:35
sudo showkey | cat
does not show output until it terminates (I stop pressing keys for 10 seconds)
– Reed
Feb 24 at 17:36
thestdbuf
line does the same thing
– Reed
Feb 24 at 17:37
2
well, that would seem it doesn't lend itself nicely to being redirected to a pipe. Though the source code I can find in Debian seems to useprintf
as usual, sostdbuf
should work on it. I don't have a machine at hand to test it, though.
– ilkkachu
Feb 24 at 17:46
Seems strange to me. I'm not well practiced with bash, though. Learned more today and last night than ever before lol. I'm now looking for other ways to listen to keyboard actions
– Reed
Feb 24 at 17:55
1
1
That
while read
loop looks like it should work, unless showkey
insists on buffering the output. If you do showkey | cat
, does the output come immediately, line-by-line? What about stdbuf -o0 showkey | cat
?– ilkkachu
Feb 24 at 17:35
That
while read
loop looks like it should work, unless showkey
insists on buffering the output. If you do showkey | cat
, does the output come immediately, line-by-line? What about stdbuf -o0 showkey | cat
?– ilkkachu
Feb 24 at 17:35
sudo showkey | cat
does not show output until it terminates (I stop pressing keys for 10 seconds)– Reed
Feb 24 at 17:36
sudo showkey | cat
does not show output until it terminates (I stop pressing keys for 10 seconds)– Reed
Feb 24 at 17:36
the
stdbuf
line does the same thing– Reed
Feb 24 at 17:37
the
stdbuf
line does the same thing– Reed
Feb 24 at 17:37
2
2
well, that would seem it doesn't lend itself nicely to being redirected to a pipe. Though the source code I can find in Debian seems to use
printf
as usual, so stdbuf
should work on it. I don't have a machine at hand to test it, though.– ilkkachu
Feb 24 at 17:46
well, that would seem it doesn't lend itself nicely to being redirected to a pipe. Though the source code I can find in Debian seems to use
printf
as usual, so stdbuf
should work on it. I don't have a machine at hand to test it, though.– ilkkachu
Feb 24 at 17:46
Seems strange to me. I'm not well practiced with bash, though. Learned more today and last night than ever before lol. I'm now looking for other ways to listen to keyboard actions
– Reed
Feb 24 at 17:55
Seems strange to me. I'm not well practiced with bash, though. Learned more today and last night than ever before lol. I'm now looking for other ways to listen to keyboard actions
– Reed
Feb 24 at 17:55
add a comment |
2 Answers
2
active
oldest
votes
sudo showkey | awk -v date="$(date +%s)" '{print $1 date}'
This won't work, since you're running date
once, before awk
starts, so it will print the same value on all lines.
With GNU awk, you could use the systime()
function to get the current time (in seconds since the Epoch). E.g. this works for me:
$ stdbuf -o0 showkey -a | awk '{ print $0, systime(); }'
1551031085
Press any keys - Ctrl-D will terminate this program 1551031085
1551031085
a 97 0141 0x61 1551031086
d 100 0144 0x64 1551031087
^D 4 0004 0x04 1551031088
(I can't test showkey
with raw keycodes right now.)
I get the errorawk: line 2: function systime never defined
– Reed
Feb 24 at 17:42
@Reed, with GNU awk. At least the on my Debian hassystime()
(GNU Awk 4.1.4), though themawk
I have doesn't. Something like `cmd | perl -pe 's/$/" " . time/e' would be another alternative
– ilkkachu
Feb 24 at 18:00
add a comment |
I gave up on showkey
and switched over to xev
.
xev -id $(xdotool search -name "Stardew Valley") -event keyboard >> /home/reedbear/user_scripts/output.txt
This gets me logs that look like:
KeyRelease event, serial 18, synthetic NO, window 0x260000a,
root 0x1b0, subw 0x0, time 18101865, (893,683), root:(893,683),
state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
KeyPress event, serial 18, synthetic NO, window 0x260000a,
root 0x1b0, subw 0x0, time 18101865, (893,683), root:(893,683),
state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XmbLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
KeyRelease event, serial 21, synthetic NO, window 0x260000a,
root 0x1b0, subw 0x0, time 18102365, (893,683), root:(893,683),
state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
And then I use php, because I'm experienced with php, to pull the timestamp, keypress, and whether KeyRelease
or KeyPress
.
Then I'm using xdotool
to send keypresses, but that's a separate thing.
I probably can do this without xdotool
, but... I didn't.
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "106"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f502727%2fshowkey-with-timestamp%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
sudo showkey | awk -v date="$(date +%s)" '{print $1 date}'
This won't work, since you're running date
once, before awk
starts, so it will print the same value on all lines.
With GNU awk, you could use the systime()
function to get the current time (in seconds since the Epoch). E.g. this works for me:
$ stdbuf -o0 showkey -a | awk '{ print $0, systime(); }'
1551031085
Press any keys - Ctrl-D will terminate this program 1551031085
1551031085
a 97 0141 0x61 1551031086
d 100 0144 0x64 1551031087
^D 4 0004 0x04 1551031088
(I can't test showkey
with raw keycodes right now.)
I get the errorawk: line 2: function systime never defined
– Reed
Feb 24 at 17:42
@Reed, with GNU awk. At least the on my Debian hassystime()
(GNU Awk 4.1.4), though themawk
I have doesn't. Something like `cmd | perl -pe 's/$/" " . time/e' would be another alternative
– ilkkachu
Feb 24 at 18:00
add a comment |
sudo showkey | awk -v date="$(date +%s)" '{print $1 date}'
This won't work, since you're running date
once, before awk
starts, so it will print the same value on all lines.
With GNU awk, you could use the systime()
function to get the current time (in seconds since the Epoch). E.g. this works for me:
$ stdbuf -o0 showkey -a | awk '{ print $0, systime(); }'
1551031085
Press any keys - Ctrl-D will terminate this program 1551031085
1551031085
a 97 0141 0x61 1551031086
d 100 0144 0x64 1551031087
^D 4 0004 0x04 1551031088
(I can't test showkey
with raw keycodes right now.)
I get the errorawk: line 2: function systime never defined
– Reed
Feb 24 at 17:42
@Reed, with GNU awk. At least the on my Debian hassystime()
(GNU Awk 4.1.4), though themawk
I have doesn't. Something like `cmd | perl -pe 's/$/" " . time/e' would be another alternative
– ilkkachu
Feb 24 at 18:00
add a comment |
sudo showkey | awk -v date="$(date +%s)" '{print $1 date}'
This won't work, since you're running date
once, before awk
starts, so it will print the same value on all lines.
With GNU awk, you could use the systime()
function to get the current time (in seconds since the Epoch). E.g. this works for me:
$ stdbuf -o0 showkey -a | awk '{ print $0, systime(); }'
1551031085
Press any keys - Ctrl-D will terminate this program 1551031085
1551031085
a 97 0141 0x61 1551031086
d 100 0144 0x64 1551031087
^D 4 0004 0x04 1551031088
(I can't test showkey
with raw keycodes right now.)
sudo showkey | awk -v date="$(date +%s)" '{print $1 date}'
This won't work, since you're running date
once, before awk
starts, so it will print the same value on all lines.
With GNU awk, you could use the systime()
function to get the current time (in seconds since the Epoch). E.g. this works for me:
$ stdbuf -o0 showkey -a | awk '{ print $0, systime(); }'
1551031085
Press any keys - Ctrl-D will terminate this program 1551031085
1551031085
a 97 0141 0x61 1551031086
d 100 0144 0x64 1551031087
^D 4 0004 0x04 1551031088
(I can't test showkey
with raw keycodes right now.)
edited Feb 24 at 17:59
answered Feb 24 at 17:37


ilkkachuilkkachu
61.5k10100177
61.5k10100177
I get the errorawk: line 2: function systime never defined
– Reed
Feb 24 at 17:42
@Reed, with GNU awk. At least the on my Debian hassystime()
(GNU Awk 4.1.4), though themawk
I have doesn't. Something like `cmd | perl -pe 's/$/" " . time/e' would be another alternative
– ilkkachu
Feb 24 at 18:00
add a comment |
I get the errorawk: line 2: function systime never defined
– Reed
Feb 24 at 17:42
@Reed, with GNU awk. At least the on my Debian hassystime()
(GNU Awk 4.1.4), though themawk
I have doesn't. Something like `cmd | perl -pe 's/$/" " . time/e' would be another alternative
– ilkkachu
Feb 24 at 18:00
I get the error
awk: line 2: function systime never defined
– Reed
Feb 24 at 17:42
I get the error
awk: line 2: function systime never defined
– Reed
Feb 24 at 17:42
@Reed, with GNU awk. At least the on my Debian has
systime()
(GNU Awk 4.1.4), though the mawk
I have doesn't. Something like `cmd | perl -pe 's/$/" " . time/e' would be another alternative– ilkkachu
Feb 24 at 18:00
@Reed, with GNU awk. At least the on my Debian has
systime()
(GNU Awk 4.1.4), though the mawk
I have doesn't. Something like `cmd | perl -pe 's/$/" " . time/e' would be another alternative– ilkkachu
Feb 24 at 18:00
add a comment |
I gave up on showkey
and switched over to xev
.
xev -id $(xdotool search -name "Stardew Valley") -event keyboard >> /home/reedbear/user_scripts/output.txt
This gets me logs that look like:
KeyRelease event, serial 18, synthetic NO, window 0x260000a,
root 0x1b0, subw 0x0, time 18101865, (893,683), root:(893,683),
state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
KeyPress event, serial 18, synthetic NO, window 0x260000a,
root 0x1b0, subw 0x0, time 18101865, (893,683), root:(893,683),
state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XmbLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
KeyRelease event, serial 21, synthetic NO, window 0x260000a,
root 0x1b0, subw 0x0, time 18102365, (893,683), root:(893,683),
state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
And then I use php, because I'm experienced with php, to pull the timestamp, keypress, and whether KeyRelease
or KeyPress
.
Then I'm using xdotool
to send keypresses, but that's a separate thing.
I probably can do this without xdotool
, but... I didn't.
add a comment |
I gave up on showkey
and switched over to xev
.
xev -id $(xdotool search -name "Stardew Valley") -event keyboard >> /home/reedbear/user_scripts/output.txt
This gets me logs that look like:
KeyRelease event, serial 18, synthetic NO, window 0x260000a,
root 0x1b0, subw 0x0, time 18101865, (893,683), root:(893,683),
state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
KeyPress event, serial 18, synthetic NO, window 0x260000a,
root 0x1b0, subw 0x0, time 18101865, (893,683), root:(893,683),
state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XmbLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
KeyRelease event, serial 21, synthetic NO, window 0x260000a,
root 0x1b0, subw 0x0, time 18102365, (893,683), root:(893,683),
state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
And then I use php, because I'm experienced with php, to pull the timestamp, keypress, and whether KeyRelease
or KeyPress
.
Then I'm using xdotool
to send keypresses, but that's a separate thing.
I probably can do this without xdotool
, but... I didn't.
add a comment |
I gave up on showkey
and switched over to xev
.
xev -id $(xdotool search -name "Stardew Valley") -event keyboard >> /home/reedbear/user_scripts/output.txt
This gets me logs that look like:
KeyRelease event, serial 18, synthetic NO, window 0x260000a,
root 0x1b0, subw 0x0, time 18101865, (893,683), root:(893,683),
state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
KeyPress event, serial 18, synthetic NO, window 0x260000a,
root 0x1b0, subw 0x0, time 18101865, (893,683), root:(893,683),
state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XmbLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
KeyRelease event, serial 21, synthetic NO, window 0x260000a,
root 0x1b0, subw 0x0, time 18102365, (893,683), root:(893,683),
state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
And then I use php, because I'm experienced with php, to pull the timestamp, keypress, and whether KeyRelease
or KeyPress
.
Then I'm using xdotool
to send keypresses, but that's a separate thing.
I probably can do this without xdotool
, but... I didn't.
I gave up on showkey
and switched over to xev
.
xev -id $(xdotool search -name "Stardew Valley") -event keyboard >> /home/reedbear/user_scripts/output.txt
This gets me logs that look like:
KeyRelease event, serial 18, synthetic NO, window 0x260000a,
root 0x1b0, subw 0x0, time 18101865, (893,683), root:(893,683),
state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
KeyPress event, serial 18, synthetic NO, window 0x260000a,
root 0x1b0, subw 0x0, time 18101865, (893,683), root:(893,683),
state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XmbLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
KeyRelease event, serial 21, synthetic NO, window 0x260000a,
root 0x1b0, subw 0x0, time 18102365, (893,683), root:(893,683),
state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
And then I use php, because I'm experienced with php, to pull the timestamp, keypress, and whether KeyRelease
or KeyPress
.
Then I'm using xdotool
to send keypresses, but that's a separate thing.
I probably can do this without xdotool
, but... I didn't.
answered Feb 25 at 2:41


ReedReed
1012
1012
add a comment |
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f502727%2fshowkey-with-timestamp%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
uD u jfJuT,7 3 T9KF cVaH
1
That
while read
loop looks like it should work, unlessshowkey
insists on buffering the output. If you doshowkey | cat
, does the output come immediately, line-by-line? What aboutstdbuf -o0 showkey | cat
?– ilkkachu
Feb 24 at 17:35
sudo showkey | cat
does not show output until it terminates (I stop pressing keys for 10 seconds)– Reed
Feb 24 at 17:36
the
stdbuf
line does the same thing– Reed
Feb 24 at 17:37
2
well, that would seem it doesn't lend itself nicely to being redirected to a pipe. Though the source code I can find in Debian seems to use
printf
as usual, sostdbuf
should work on it. I don't have a machine at hand to test it, though.– ilkkachu
Feb 24 at 17:46
Seems strange to me. I'm not well practiced with bash, though. Learned more today and last night than ever before lol. I'm now looking for other ways to listen to keyboard actions
– Reed
Feb 24 at 17:55