winkeys

package module
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 24, 2026 License: BSD-3-Clause Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const (
	FromLeft1stButtonPressed = 0x0001
	RightmostButtonPressed   = 0x0002
	FromLeft2ndButtonPressed = 0x0004
	FromLeft3rdButtonPressed = 0x0008
	FromLeft4thButtonPressed = 0x0010
)

Mouse Button States (dwButtonState)

View Source
const (
	MouseMoved    = 0x0001
	DoubleClick   = 0x0002
	MouseWheeled  = 0x0004
	MouseHWheeled = 0x0008
)

Mouse Event Flags (dwEventFlags)

View Source
const (
	VK_LBUTTON    = 0x01
	VK_RBUTTON    = 0x02
	VK_CANCEL     = 0x03
	VK_MBUTTON    = 0x04
	VK_XBUTTON1   = 0x05
	VK_XBUTTON2   = 0x06
	VK_BACK       = 0x08
	VK_TAB        = 0x09
	VK_CLEAR      = 0x0C
	VK_RETURN     = 0x0D
	VK_SHIFT      = 0x10
	VK_CONTROL    = 0x11
	VK_MENU       = 0x12 // Alt
	VK_PAUSE      = 0x13
	VK_CAPITAL    = 0x14 // Caps Lock
	VK_KANA       = 0x15
	VK_HANGUL     = 0x15
	VK_IME_ON     = 0x16
	VK_JUNJA      = 0x17
	VK_FINAL      = 0x18
	VK_HANJA      = 0x19
	VK_KANJI      = 0x19
	VK_IME_OFF    = 0x1A
	VK_CONVERT    = 0x1C
	VK_NONCONVERT = 0x1D
	VK_ACCEPT     = 0x1E
	VK_MODECHANGE = 0x1F
	VK_ESCAPE     = 0x1B
	VK_SPACE      = 0x20
	VK_PRIOR      = 0x21 // Page Up
	VK_NEXT       = 0x22 // Page Down
	VK_END        = 0x23
	VK_HOME       = 0x24
	VK_LEFT       = 0x25
	VK_UP         = 0x26
	VK_RIGHT      = 0x27
	VK_DOWN       = 0x28
	VK_SELECT     = 0x29
	VK_PRINT      = 0x2A
	VK_EXECUTE    = 0x2B
	VK_SNAPSHOT   = 0x2C // Print Screen
	VK_INSERT     = 0x2D
	VK_DELETE     = 0x2E
	VK_HELP       = 0x2F

	// 0-9 are the same as ASCII '0'-'9' (0x30 - 0x39)
	VK_0 = 0x30
	VK_1 = 0x31
	VK_2 = 0x32
	VK_3 = 0x33
	VK_4 = 0x34
	VK_5 = 0x35
	VK_6 = 0x36
	VK_7 = 0x37
	VK_8 = 0x38
	VK_9 = 0x39

	// A-Z are the same as ASCII 'A'-'Z' (0x41 - 0x5A)
	VK_A = 0x41
	VK_B = 0x42
	VK_C = 0x43
	VK_D = 0x44
	VK_E = 0x45
	VK_F = 0x46
	VK_G = 0x47
	VK_H = 0x48
	VK_I = 0x49
	VK_J = 0x4A
	VK_K = 0x4B
	VK_L = 0x4C
	VK_M = 0x4D
	VK_N = 0x4E
	VK_O = 0x4F
	VK_P = 0x50
	VK_Q = 0x51
	VK_R = 0x52
	VK_S = 0x53
	VK_T = 0x54
	VK_U = 0x55
	VK_V = 0x56
	VK_W = 0x57
	VK_X = 0x58
	VK_Y = 0x59
	VK_Z = 0x5A

	VK_LWIN  = 0x5B
	VK_RWIN  = 0x5C
	VK_APPS  = 0x5D
	VK_SLEEP = 0x5F

	VK_NUMPAD0   = 0x60
	VK_NUMPAD1   = 0x61
	VK_NUMPAD2   = 0x62
	VK_NUMPAD3   = 0x63
	VK_NUMPAD4   = 0x64
	VK_NUMPAD5   = 0x65
	VK_NUMPAD6   = 0x66
	VK_NUMPAD7   = 0x67
	VK_NUMPAD8   = 0x68
	VK_NUMPAD9   = 0x69
	VK_MULTIPLY  = 0x6A
	VK_ADD       = 0x6B
	VK_SEPARATOR = 0x6C
	VK_SUBTRACT  = 0x6D
	VK_DECIMAL   = 0x6E
	VK_DIVIDE    = 0x6F

	VK_F1  = 0x70
	VK_F2  = 0x71
	VK_F3  = 0x72
	VK_F4  = 0x73
	VK_F5  = 0x74
	VK_F6  = 0x75
	VK_F7  = 0x76
	VK_F8  = 0x77
	VK_F9  = 0x78
	VK_F10 = 0x79
	VK_F11 = 0x7A
	VK_F12 = 0x7B
	VK_F13 = 0x7C
	VK_F14 = 0x7D
	VK_F15 = 0x7E
	VK_F16 = 0x7F
	VK_F17 = 0x80
	VK_F18 = 0x81
	VK_F19 = 0x82
	VK_F20 = 0x83
	VK_F21 = 0x84
	VK_F22 = 0x85
	VK_F23 = 0x86
	VK_F24 = 0x87

	VK_NUMLOCK = 0x90
	VK_SCROLL  = 0x91

	VK_LSHIFT   = 0xA0
	VK_RSHIFT   = 0xA1
	VK_LCONTROL = 0xA2
	VK_RCONTROL = 0xA3
	VK_LMENU    = 0xA4 // Left Alt
	VK_RMENU    = 0xA5 // Right Alt

	VK_OEM_1      = 0xBA // ';:' for US
	VK_OEM_PLUS   = 0xBB // '+' any country
	VK_OEM_COMMA  = 0xBC // ',' any country
	VK_OEM_MINUS  = 0xBD // '-' any country
	VK_OEM_PERIOD = 0xBE // '.' any country
	VK_OEM_2      = 0xBF // '/?' for US
	VK_OEM_3      = 0xC0 // '`~' for US

	VK_OEM_4   = 0xDB // '[{' for US
	VK_OEM_5   = 0xDC // '\|' for US
	VK_OEM_6   = 0xDD // ']}' for US
	VK_OEM_7   = 0xDE // ”"' for US
	VK_OEM_8   = 0xDF
	VK_OEM_102 = 0xE2 // < > | on ISO keyboards

	VK_PROCESSKEY = 0xE5
	VK_PACKET     = 0xE7

	VK_ATTN      = 0xF6
	VK_CRSEL     = 0xF7
	VK_EXSEL     = 0xF8
	VK_EREOF     = 0xF9
	VK_PLAY      = 0xFA
	VK_ZOOM      = 0xFB
	VK_NONAME    = 0xFC
	VK_PA1       = 0xFD
	VK_OEM_CLEAR = 0xFE

	VK_UNASSIGNED = 0xFF

	ScanCodeLeftShift  = 0x2A
	ScanCodeRightShift = 0x36
)

Variables

This section is empty.

Functions

func VKString

func VKString(vk uint16) string

VKString returns a human-readable representation of a Virtual Key Code.

Types

type ControlKeyState

type ControlKeyState uint32

ControlKeyState flags (dwControlKeyState)

const (
	NoKeyPressed     ControlKeyState = 0x0000
	RightAltPressed  ControlKeyState = 0x0001
	LeftAltPressed   ControlKeyState = 0x0002
	RightCtrlPressed ControlKeyState = 0x0004
	LeftCtrlPressed  ControlKeyState = 0x0008
	ShiftPressed     ControlKeyState = 0x0010
	NumLockOn        ControlKeyState = 0x0020
	ScrollLockOn     ControlKeyState = 0x0040
	CapsLockOn       ControlKeyState = 0x0080
	EnhancedKey      ControlKeyState = 0x0100
)

func (ControlKeyState) Contains

func (cks ControlKeyState) Contains(state ControlKeyState) bool

Contains is a helper for Control State check

func (ControlKeyState) String

func (cks ControlKeyState) String() string

String ensures that ControlKeyState satisfies the fmt.Stringer interface.

type EventType

type EventType uint16

EventType constants

const (
	KeyEventType    EventType = 0x0001
	MouseEventType  EventType = 0x0002
	FocusEventType  EventType = 0x0010
	PasteEventType  EventType = 0x0020
	Far2lEventType  EventType = 0x0040
	ResizeEventType EventType = 0x0080
)

type InputEvent

type InputEvent struct {
	Type EventType

	// Key Event Data
	VirtualKeyCode  uint16
	VirtualScanCode uint16
	Char            rune
	UnshiftedChar   rune
	KeyDown         bool
	RepeatCount     uint16

	// Mouse Event Data
	MouseX          int16
	MouseY          int16
	ButtonState     uint32
	MouseEventFlags uint32
	WheelDirection  int // 1 (forward/right), -1 (backward/left)

	// Focus Event Data
	SetFocus bool

	// Paste Event Data
	PasteStart bool
	// Far2l Extension Event Data
	Far2lCommand string
	Far2lData    []byte

	// Shared
	ControlKeyState ControlKeyState

	// InputSource tracks which parser generated this event
	InputSource string

	// IsLegacy indicates that this event comes from a protocol that does not support
	// explicit KeyUp events
	IsLegacy bool
}

InputEvent is a generic container for any event (Key, Mouse, Focus).

func (InputEvent) String

func (e InputEvent) String() string

String implements the Stringer interface for easy debugging.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL