how do i write a keypress callback?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I'm trying to write a piece of code for Raspberry Pi in python 3.4.2 that uses callbacks to trigger certain events.
Currently I'm making use of a nifty GPIO command (GPIO.add_event_detect) along with a try/except rule that makes the script pause and wait until something happens.
I want to do something similar at the same time for a keyboard button press (not bothered which one right now), is there a way to do this that's similar to the GPIO.add_event_detect?
an example in code:
import RPi.GPIO as GPIO
receiverPin = 14
quitButton = 17
GPIO.setmode(GPIO.BCM)
GPIO.setup(receiverPin, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(quitButton, GPIO.IN, pull_up_down=GPIO.PUD_UP)
#FUNCTION ACTIVATED BY DESIRED CODE#
def activate(channel):
#do stuff#
def direct_hit(channel):
#do stuff#
GPIO.add_event_detect(receiverPin, GPIO.BOTH, callback=direct_hit)
#DESIRED CODE BLOCK
keypress.add_event_detect(KEYPRESS_ENTER, callback=activate)
try:
GPIO.wait_for_edge(quitButton, GPIO.FALLING)
print("Exiting")
GPIO.cleanup()
quit()
except KeyboardInterrupt:
GPIO.cleanup()
GPIO.cleanup()
Is there a way to do this? bear in mind I am self taught(poorly).
Thanks in advance for any help.
callback raspberry-pi3 python-3.4
add a comment |
I'm trying to write a piece of code for Raspberry Pi in python 3.4.2 that uses callbacks to trigger certain events.
Currently I'm making use of a nifty GPIO command (GPIO.add_event_detect) along with a try/except rule that makes the script pause and wait until something happens.
I want to do something similar at the same time for a keyboard button press (not bothered which one right now), is there a way to do this that's similar to the GPIO.add_event_detect?
an example in code:
import RPi.GPIO as GPIO
receiverPin = 14
quitButton = 17
GPIO.setmode(GPIO.BCM)
GPIO.setup(receiverPin, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(quitButton, GPIO.IN, pull_up_down=GPIO.PUD_UP)
#FUNCTION ACTIVATED BY DESIRED CODE#
def activate(channel):
#do stuff#
def direct_hit(channel):
#do stuff#
GPIO.add_event_detect(receiverPin, GPIO.BOTH, callback=direct_hit)
#DESIRED CODE BLOCK
keypress.add_event_detect(KEYPRESS_ENTER, callback=activate)
try:
GPIO.wait_for_edge(quitButton, GPIO.FALLING)
print("Exiting")
GPIO.cleanup()
quit()
except KeyboardInterrupt:
GPIO.cleanup()
GPIO.cleanup()
Is there a way to do this? bear in mind I am self taught(poorly).
Thanks in advance for any help.
callback raspberry-pi3 python-3.4
add a comment |
I'm trying to write a piece of code for Raspberry Pi in python 3.4.2 that uses callbacks to trigger certain events.
Currently I'm making use of a nifty GPIO command (GPIO.add_event_detect) along with a try/except rule that makes the script pause and wait until something happens.
I want to do something similar at the same time for a keyboard button press (not bothered which one right now), is there a way to do this that's similar to the GPIO.add_event_detect?
an example in code:
import RPi.GPIO as GPIO
receiverPin = 14
quitButton = 17
GPIO.setmode(GPIO.BCM)
GPIO.setup(receiverPin, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(quitButton, GPIO.IN, pull_up_down=GPIO.PUD_UP)
#FUNCTION ACTIVATED BY DESIRED CODE#
def activate(channel):
#do stuff#
def direct_hit(channel):
#do stuff#
GPIO.add_event_detect(receiverPin, GPIO.BOTH, callback=direct_hit)
#DESIRED CODE BLOCK
keypress.add_event_detect(KEYPRESS_ENTER, callback=activate)
try:
GPIO.wait_for_edge(quitButton, GPIO.FALLING)
print("Exiting")
GPIO.cleanup()
quit()
except KeyboardInterrupt:
GPIO.cleanup()
GPIO.cleanup()
Is there a way to do this? bear in mind I am self taught(poorly).
Thanks in advance for any help.
callback raspberry-pi3 python-3.4
I'm trying to write a piece of code for Raspberry Pi in python 3.4.2 that uses callbacks to trigger certain events.
Currently I'm making use of a nifty GPIO command (GPIO.add_event_detect) along with a try/except rule that makes the script pause and wait until something happens.
I want to do something similar at the same time for a keyboard button press (not bothered which one right now), is there a way to do this that's similar to the GPIO.add_event_detect?
an example in code:
import RPi.GPIO as GPIO
receiverPin = 14
quitButton = 17
GPIO.setmode(GPIO.BCM)
GPIO.setup(receiverPin, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(quitButton, GPIO.IN, pull_up_down=GPIO.PUD_UP)
#FUNCTION ACTIVATED BY DESIRED CODE#
def activate(channel):
#do stuff#
def direct_hit(channel):
#do stuff#
GPIO.add_event_detect(receiverPin, GPIO.BOTH, callback=direct_hit)
#DESIRED CODE BLOCK
keypress.add_event_detect(KEYPRESS_ENTER, callback=activate)
try:
GPIO.wait_for_edge(quitButton, GPIO.FALLING)
print("Exiting")
GPIO.cleanup()
quit()
except KeyboardInterrupt:
GPIO.cleanup()
GPIO.cleanup()
Is there a way to do this? bear in mind I am self taught(poorly).
Thanks in advance for any help.
callback raspberry-pi3 python-3.4
callback raspberry-pi3 python-3.4
asked Nov 15 '18 at 14:14
Steve JenkinsSteve Jenkins
41
41
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
I made some research for you and found this library: https://github.com/boppreh/keyboard#keyboard.on_press which have event method on_press
Just add:
import keyboard
keyboard.on_press = yourCallback
Hope it will help you.
many thanks for your effort. I appreciate it
– Steve Jenkins
Nov 25 '18 at 12:34
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
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: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
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%2fstackoverflow.com%2fquestions%2f53321390%2fhow-do-i-write-a-keypress-callback%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
I made some research for you and found this library: https://github.com/boppreh/keyboard#keyboard.on_press which have event method on_press
Just add:
import keyboard
keyboard.on_press = yourCallback
Hope it will help you.
many thanks for your effort. I appreciate it
– Steve Jenkins
Nov 25 '18 at 12:34
add a comment |
I made some research for you and found this library: https://github.com/boppreh/keyboard#keyboard.on_press which have event method on_press
Just add:
import keyboard
keyboard.on_press = yourCallback
Hope it will help you.
many thanks for your effort. I appreciate it
– Steve Jenkins
Nov 25 '18 at 12:34
add a comment |
I made some research for you and found this library: https://github.com/boppreh/keyboard#keyboard.on_press which have event method on_press
Just add:
import keyboard
keyboard.on_press = yourCallback
Hope it will help you.
I made some research for you and found this library: https://github.com/boppreh/keyboard#keyboard.on_press which have event method on_press
Just add:
import keyboard
keyboard.on_press = yourCallback
Hope it will help you.
answered Nov 20 '18 at 12:35
KoxoKoxo
34728
34728
many thanks for your effort. I appreciate it
– Steve Jenkins
Nov 25 '18 at 12:34
add a comment |
many thanks for your effort. I appreciate it
– Steve Jenkins
Nov 25 '18 at 12:34
many thanks for your effort. I appreciate it
– Steve Jenkins
Nov 25 '18 at 12:34
many thanks for your effort. I appreciate it
– Steve Jenkins
Nov 25 '18 at 12:34
add a comment |
Thanks for contributing an answer to Stack Overflow!
- 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%2fstackoverflow.com%2fquestions%2f53321390%2fhow-do-i-write-a-keypress-callback%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