package org.expeditee.gui.indirect.keyboard; import java.util.Collection; import org.expeditee.gui.FunctionKey; import org.expeditee.items.Item; import org.expeditee.items.Text; public interface KeyboardAction { public Text exec(final KeyboardInfo info, char c); public class KeyboardInfo { public FunctionKey key; public int repeat; public boolean isShiftDown; public boolean isControlDown; public Collection enclosed; public Item firstConnected; public Collection connected; public Collection lineEnds; public KeyboardInfo(final FunctionKey key, final int repeat, final boolean isShiftDown, final boolean isControlDown, final Collection enclosed, final Item firstConnected, Collection connected, Collection lineEnds) { this.key = key; this.repeat = repeat; this.isShiftDown = isShiftDown; this.isControlDown = isControlDown; this.enclosed = enclosed; this.firstConnected = firstConnected; this.connected = connected; this.lineEnds = lineEnds; } } }