From 4c1bf8cd8d4f0f96428a90f3117896c7f1564cdf Mon Sep 17 00:00:00 2001 From: Lenni Date: Wed, 3 Mar 2021 19:04:54 +0100 Subject: added listening to key presses --- examples/create-window/main.go | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'examples/create-window/main.go') diff --git a/examples/create-window/main.go b/examples/create-window/main.go index 284daef..76df734 100644 --- a/examples/create-window/main.go +++ b/examples/create-window/main.go @@ -110,6 +110,16 @@ func main() { // xproto.ChangeWindowAttributes (see l.50)). // and reacts to it accordingly. All events are defined in the xproto subpackage. switch ev.(type) { + case xproto.KeyPressEvent: + // See https://pkg.go.dev/github.com/jezek/xgb@v0.0.0-20210121230032-cec22bda1ce1/xproto#KeyPressEvent + // for documentation about a key press event. + kpe := ev.(xproto.KeyPressEvent) + fmt.Printf("Key pressed: %d", kpe.Detail) + // The Detail value depends on the keyboard layout, + // for QWERTY, q is #24. + if kpe.Detail == 24 { + return // exit on q + } case xproto.DestroyNotifyEvent: return // Exit if we get a DestroyNotifyEvent. } -- cgit v1.2.3