Esempio n. 1
0
func (t *TextField) keyboard(k ui.Key) {
	if k.Shift() {
		c0 := t.Caret[0]
		defer func() {
			// keep c0 rooted when holding shift
			t.Caret[0] = c0
		}()
	}
	switch k.Trim() {
	case ui.Backspace:
		t.backspace()
	case ui.Delete:
		t.forwardDelete()
	case ui.Left:
		t.moveBackward(shift)
	case ui.Right:
		t.moveForward(shift)
	default:
		t.emacs(k)
	}
}