mirror of
https://git.sr.ht/~eliasnaur/gio
synced 2026-07-05 01:15:35 +00:00
io/key: [API] replace key.InputOp with a filter
Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
@@ -238,17 +238,17 @@ func (x *Context) UpdateMask(depressed, latched, locked, depressedGroup, latched
|
||||
C.xkb_layout_index_t(depressedGroup), C.xkb_layout_index_t(latchedGroup), C.xkb_layout_index_t(lockedGroup))
|
||||
}
|
||||
|
||||
func convertKeysym(s C.xkb_keysym_t) (string, bool) {
|
||||
func convertKeysym(s C.xkb_keysym_t) (key.Name, bool) {
|
||||
if 'a' <= s && s <= 'z' {
|
||||
return string(rune(s - 'a' + 'A')), true
|
||||
return key.Name(rune(s - 'a' + 'A')), true
|
||||
}
|
||||
if C.XKB_KEY_KP_0 <= s && s <= C.XKB_KEY_KP_9 {
|
||||
return string(rune(s - C.XKB_KEY_KP_0 + '0')), true
|
||||
return key.Name(rune(s - C.XKB_KEY_KP_0 + '0')), true
|
||||
}
|
||||
if ' ' < s && s <= '~' {
|
||||
return string(rune(s)), true
|
||||
return key.Name(rune(s)), true
|
||||
}
|
||||
var n string
|
||||
var n key.Name
|
||||
switch s {
|
||||
case C.XKB_KEY_Escape:
|
||||
n = key.NameEscape
|
||||
|
||||
+2
-2
@@ -899,8 +899,8 @@ func runInJVM(jvm *C.JavaVM, f func(env *C.JNIEnv)) {
|
||||
f(env)
|
||||
}
|
||||
|
||||
func convertKeyCode(code C.jint) (string, bool) {
|
||||
var n string
|
||||
func convertKeyCode(code C.jint) (key.Name, bool) {
|
||||
var n key.Name
|
||||
switch code {
|
||||
case C.AKEYCODE_FORWARD_DEL:
|
||||
n = key.NameDeleteForward
|
||||
|
||||
+1
-1
@@ -310,7 +310,7 @@ func (w *window) SetCursor(cursor pointer.Cursor) {
|
||||
w.cursor = windowSetCursor(w.cursor, cursor)
|
||||
}
|
||||
|
||||
func (w *window) onKeyCommand(name string) {
|
||||
func (w *window) onKeyCommand(name key.Name) {
|
||||
w.w.Event(key.Event{
|
||||
Name: name,
|
||||
})
|
||||
|
||||
+3
-3
@@ -752,8 +752,8 @@ func osMain() {
|
||||
select {}
|
||||
}
|
||||
|
||||
func translateKey(k string) (string, bool) {
|
||||
var n string
|
||||
func translateKey(k string) (key.Name, bool) {
|
||||
var n key.Name
|
||||
|
||||
switch k {
|
||||
case "ArrowUp":
|
||||
@@ -820,7 +820,7 @@ func translateKey(k string) (string, bool) {
|
||||
r, s := utf8.DecodeRuneInString(k)
|
||||
// If there is exactly one printable character, return that.
|
||||
if s == len(k) && unicode.IsPrint(r) {
|
||||
return strings.ToUpper(k), true
|
||||
return key.Name(strings.ToUpper(k)), true
|
||||
}
|
||||
return "", false
|
||||
}
|
||||
|
||||
+3
-3
@@ -920,8 +920,8 @@ func osMain() {
|
||||
C.gio_main()
|
||||
}
|
||||
|
||||
func convertKey(k rune) (string, bool) {
|
||||
var n string
|
||||
func convertKey(k rune) (key.Name, bool) {
|
||||
var n key.Name
|
||||
switch k {
|
||||
case 0x1b:
|
||||
n = key.NameEscape
|
||||
@@ -982,7 +982,7 @@ func convertKey(k rune) (string, bool) {
|
||||
if !unicode.IsPrint(k) {
|
||||
return "", false
|
||||
}
|
||||
n = string(k)
|
||||
n = key.Name(k)
|
||||
}
|
||||
return n, true
|
||||
}
|
||||
|
||||
+3
-3
@@ -870,11 +870,11 @@ func (w *window) raise() {
|
||||
windows.SWP_NOMOVE|windows.SWP_NOSIZE|windows.SWP_SHOWWINDOW)
|
||||
}
|
||||
|
||||
func convertKeyCode(code uintptr) (string, bool) {
|
||||
func convertKeyCode(code uintptr) (key.Name, bool) {
|
||||
if '0' <= code && code <= '9' || 'A' <= code && code <= 'Z' {
|
||||
return string(rune(code)), true
|
||||
return key.Name(rune(code)), true
|
||||
}
|
||||
var r string
|
||||
var r key.Name
|
||||
|
||||
switch code {
|
||||
case windows.VK_ESCAPE:
|
||||
|
||||
@@ -903,11 +903,6 @@ func (w *Window) processEvent(d driver, e event.Event) bool {
|
||||
handled = false
|
||||
}
|
||||
}
|
||||
// As a special case, the top-most input handler receives all unhandled
|
||||
// events.
|
||||
if !handled {
|
||||
handled = w.queue.QueueTopmost(e)
|
||||
}
|
||||
}
|
||||
w.updateCursor(d)
|
||||
if handled {
|
||||
|
||||
Reference in New Issue
Block a user