From 00acf74177e520c2f961fb478e7674d24c9077c9 Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Mon, 7 Apr 2014 12:56:10 -0400 Subject: [PATCH] Updated Area's KeyEvent documentation to talk about some window managers on Unix intercepting some events; also updated the keyboard test program to make a note of behaviors related to that. --- area.go | 5 +++++ test/kbtest.go | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/area.go b/area.go index aee1684..5dfce26 100644 --- a/area.go +++ b/area.go @@ -124,6 +124,11 @@ func (e MouseEvent) HeldBits() (h uintptr) { // unconditionally, which may result in unwanted behavior like // global task-switching keystrokes not being processed.) // +// Note that even given the above, some systems might intercept +// some keystrokes (like Alt-F4 on various Unix systems) before +// Area will ever see them (and the Area might get an incorrect +// KeyEvent in this case, but this is not guaranteed); be wary. +// // If a key is pressed that is not supported by Key, ExtKey, // or Modifiers, no KeyEvent will be produced, and package // ui will act as if false was returned for handled. diff --git a/test/kbtest.go b/test/kbtest.go index 8b36c4e..7c96eda 100644 --- a/test/kbtest.go +++ b/test/kbtest.go @@ -80,7 +80,7 @@ func kbTest() { w := NewWindow("Hi", wid, ht) err := w.Open(a) if err != nil { panic(err) } - <-w.Closing + select {} // some X11-based systems intercept Alt-F4 and various other keys; this is to find out if we get the key event anyway after ignoring the other requests (it has the effect of requiring us to abort the keyboard test though) } var (