SendKey processes a basic key event and sends it
(typ Types, rn rune, code key.Codes, mods key.Modifiers)
| 67 | |
| 68 | // SendKey processes a basic key event and sends it |
| 69 | func (es *Source) Key(typ Types, rn rune, code key.Codes, mods key.Modifiers) { |
| 70 | ev := NewKey(typ, rn, code, mods) |
| 71 | es.Last.Mods = mods |
| 72 | es.Last.Key = code |
| 73 | ev.Init() |
| 74 | es.Deque.Send(ev) |
| 75 | |
| 76 | _, mapped := key.CodeRuneMap[code] |
| 77 | |
| 78 | if typ == KeyDown && ev.Code < key.CodeLeftControl && |
| 79 | (ev.HasAnyModifier(key.Control, key.Meta) || !mapped || ev.Code == key.CodeTab) { |
| 80 | che := NewKey(KeyChord, rn, code, mods) |
| 81 | che.Init() |
| 82 | es.Deque.Send(che) |
| 83 | } |
| 84 | } |
| 85 | |
| 86 | // KeyChord processes a basic KeyChord event and sends it |
| 87 | func (es *Source) KeyChord(rn rune, code key.Codes, mods key.Modifiers) { |
no test coverage detected