ebiten/keys.go

531 lines
11 KiB
Go

// Copyright 2013 The Ebiten Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Code generated by genkeys.go using 'go generate'. DO NOT EDIT.
package ebiten
import (
"strings"
"github.com/hajimehoshi/ebiten/internal/input"
)
// A Key represents a keyboard key.
// These keys represent pysical keys of US keyboard.
// For example, KeyQ represents Q key on US keyboards and ' (quote) key on Dvorak keyboards.
type Key int
// Keys.
//
// Known issue: KeyKPEnter and KeyKPEqual don't work on Edge browsers.
const (
Key0 Key = Key(input.Key0)
Key1 Key = Key(input.Key1)
Key2 Key = Key(input.Key2)
Key3 Key = Key(input.Key3)
Key4 Key = Key(input.Key4)
Key5 Key = Key(input.Key5)
Key6 Key = Key(input.Key6)
Key7 Key = Key(input.Key7)
Key8 Key = Key(input.Key8)
Key9 Key = Key(input.Key9)
KeyA Key = Key(input.KeyA)
KeyB Key = Key(input.KeyB)
KeyC Key = Key(input.KeyC)
KeyD Key = Key(input.KeyD)
KeyE Key = Key(input.KeyE)
KeyF Key = Key(input.KeyF)
KeyG Key = Key(input.KeyG)
KeyH Key = Key(input.KeyH)
KeyI Key = Key(input.KeyI)
KeyJ Key = Key(input.KeyJ)
KeyK Key = Key(input.KeyK)
KeyL Key = Key(input.KeyL)
KeyM Key = Key(input.KeyM)
KeyN Key = Key(input.KeyN)
KeyO Key = Key(input.KeyO)
KeyP Key = Key(input.KeyP)
KeyQ Key = Key(input.KeyQ)
KeyR Key = Key(input.KeyR)
KeyS Key = Key(input.KeyS)
KeyT Key = Key(input.KeyT)
KeyU Key = Key(input.KeyU)
KeyV Key = Key(input.KeyV)
KeyW Key = Key(input.KeyW)
KeyX Key = Key(input.KeyX)
KeyY Key = Key(input.KeyY)
KeyZ Key = Key(input.KeyZ)
KeyAlt Key = Key(input.KeyAlt)
KeyApostrophe Key = Key(input.KeyApostrophe)
KeyBackslash Key = Key(input.KeyBackslash)
KeyBackspace Key = Key(input.KeyBackspace)
KeyCapsLock Key = Key(input.KeyCapsLock)
KeyComma Key = Key(input.KeyComma)
KeyControl Key = Key(input.KeyControl)
KeyDelete Key = Key(input.KeyDelete)
KeyDown Key = Key(input.KeyDown)
KeyEnd Key = Key(input.KeyEnd)
KeyEnter Key = Key(input.KeyEnter)
KeyEqual Key = Key(input.KeyEqual)
KeyEscape Key = Key(input.KeyEscape)
KeyF1 Key = Key(input.KeyF1)
KeyF2 Key = Key(input.KeyF2)
KeyF3 Key = Key(input.KeyF3)
KeyF4 Key = Key(input.KeyF4)
KeyF5 Key = Key(input.KeyF5)
KeyF6 Key = Key(input.KeyF6)
KeyF7 Key = Key(input.KeyF7)
KeyF8 Key = Key(input.KeyF8)
KeyF9 Key = Key(input.KeyF9)
KeyF10 Key = Key(input.KeyF10)
KeyF11 Key = Key(input.KeyF11)
KeyF12 Key = Key(input.KeyF12)
KeyGraveAccent Key = Key(input.KeyGraveAccent)
KeyHome Key = Key(input.KeyHome)
KeyInsert Key = Key(input.KeyInsert)
KeyKP0 Key = Key(input.KeyKP0)
KeyKP1 Key = Key(input.KeyKP1)
KeyKP2 Key = Key(input.KeyKP2)
KeyKP3 Key = Key(input.KeyKP3)
KeyKP4 Key = Key(input.KeyKP4)
KeyKP5 Key = Key(input.KeyKP5)
KeyKP6 Key = Key(input.KeyKP6)
KeyKP7 Key = Key(input.KeyKP7)
KeyKP8 Key = Key(input.KeyKP8)
KeyKP9 Key = Key(input.KeyKP9)
KeyKPAdd Key = Key(input.KeyKPAdd)
KeyKPDecimal Key = Key(input.KeyKPDecimal)
KeyKPDivide Key = Key(input.KeyKPDivide)
KeyKPEnter Key = Key(input.KeyKPEnter)
KeyKPEqual Key = Key(input.KeyKPEqual)
KeyKPMultiply Key = Key(input.KeyKPMultiply)
KeyKPSubtract Key = Key(input.KeyKPSubtract)
KeyLeft Key = Key(input.KeyLeft)
KeyLeftBracket Key = Key(input.KeyLeftBracket)
KeyMinus Key = Key(input.KeyMinus)
KeyNumLock Key = Key(input.KeyNumLock)
KeyPageDown Key = Key(input.KeyPageDown)
KeyPageUp Key = Key(input.KeyPageUp)
KeyPeriod Key = Key(input.KeyPeriod)
KeyRight Key = Key(input.KeyRight)
KeyRightBracket Key = Key(input.KeyRightBracket)
KeySemicolon Key = Key(input.KeySemicolon)
KeyShift Key = Key(input.KeyShift)
KeySlash Key = Key(input.KeySlash)
KeySpace Key = Key(input.KeySpace)
KeyTab Key = Key(input.KeyTab)
KeyUp Key = Key(input.KeyUp)
KeyMax Key = KeyUp
)
// String returns a string representing the key.
//
// If k is an undefined key, String returns an empty string.
func (k Key) String() string {
switch k {
case Key0:
return "0"
case Key1:
return "1"
case Key2:
return "2"
case Key3:
return "3"
case Key4:
return "4"
case Key5:
return "5"
case Key6:
return "6"
case Key7:
return "7"
case Key8:
return "8"
case Key9:
return "9"
case KeyA:
return "A"
case KeyB:
return "B"
case KeyC:
return "C"
case KeyD:
return "D"
case KeyE:
return "E"
case KeyF:
return "F"
case KeyG:
return "G"
case KeyH:
return "H"
case KeyI:
return "I"
case KeyJ:
return "J"
case KeyK:
return "K"
case KeyL:
return "L"
case KeyM:
return "M"
case KeyN:
return "N"
case KeyO:
return "O"
case KeyP:
return "P"
case KeyQ:
return "Q"
case KeyR:
return "R"
case KeyS:
return "S"
case KeyT:
return "T"
case KeyU:
return "U"
case KeyV:
return "V"
case KeyW:
return "W"
case KeyX:
return "X"
case KeyY:
return "Y"
case KeyZ:
return "Z"
case KeyAlt:
return "Alt"
case KeyApostrophe:
return "Apostrophe"
case KeyBackslash:
return "Backslash"
case KeyBackspace:
return "Backspace"
case KeyCapsLock:
return "CapsLock"
case KeyComma:
return "Comma"
case KeyControl:
return "Control"
case KeyDelete:
return "Delete"
case KeyDown:
return "Down"
case KeyEnd:
return "End"
case KeyEnter:
return "Enter"
case KeyEqual:
return "Equal"
case KeyEscape:
return "Escape"
case KeyF1:
return "F1"
case KeyF2:
return "F2"
case KeyF3:
return "F3"
case KeyF4:
return "F4"
case KeyF5:
return "F5"
case KeyF6:
return "F6"
case KeyF7:
return "F7"
case KeyF8:
return "F8"
case KeyF9:
return "F9"
case KeyF10:
return "F10"
case KeyF11:
return "F11"
case KeyF12:
return "F12"
case KeyGraveAccent:
return "GraveAccent"
case KeyHome:
return "Home"
case KeyInsert:
return "Insert"
case KeyKP0:
return "KP0"
case KeyKP1:
return "KP1"
case KeyKP2:
return "KP2"
case KeyKP3:
return "KP3"
case KeyKP4:
return "KP4"
case KeyKP5:
return "KP5"
case KeyKP6:
return "KP6"
case KeyKP7:
return "KP7"
case KeyKP8:
return "KP8"
case KeyKP9:
return "KP9"
case KeyKPAdd:
return "KPAdd"
case KeyKPDecimal:
return "KPDecimal"
case KeyKPDivide:
return "KPDivide"
case KeyKPEnter:
return "KPEnter"
case KeyKPEqual:
return "KPEqual"
case KeyKPMultiply:
return "KPMultiply"
case KeyKPSubtract:
return "KPSubtract"
case KeyLeft:
return "Left"
case KeyLeftBracket:
return "LeftBracket"
case KeyMinus:
return "Minus"
case KeyNumLock:
return "NumLock"
case KeyPageDown:
return "PageDown"
case KeyPageUp:
return "PageUp"
case KeyPeriod:
return "Period"
case KeyRight:
return "Right"
case KeyRightBracket:
return "RightBracket"
case KeySemicolon:
return "Semicolon"
case KeyShift:
return "Shift"
case KeySlash:
return "Slash"
case KeySpace:
return "Space"
case KeyTab:
return "Tab"
case KeyUp:
return "Up"
}
return ""
}
func keyNameToKey(name string) (Key, bool) {
switch strings.ToLower(name) {
case "0":
return Key0, true
case "1":
return Key1, true
case "2":
return Key2, true
case "3":
return Key3, true
case "4":
return Key4, true
case "5":
return Key5, true
case "6":
return Key6, true
case "7":
return Key7, true
case "8":
return Key8, true
case "9":
return Key9, true
case "a":
return KeyA, true
case "b":
return KeyB, true
case "c":
return KeyC, true
case "d":
return KeyD, true
case "e":
return KeyE, true
case "f":
return KeyF, true
case "g":
return KeyG, true
case "h":
return KeyH, true
case "i":
return KeyI, true
case "j":
return KeyJ, true
case "k":
return KeyK, true
case "l":
return KeyL, true
case "m":
return KeyM, true
case "n":
return KeyN, true
case "o":
return KeyO, true
case "p":
return KeyP, true
case "q":
return KeyQ, true
case "r":
return KeyR, true
case "s":
return KeyS, true
case "t":
return KeyT, true
case "u":
return KeyU, true
case "v":
return KeyV, true
case "w":
return KeyW, true
case "x":
return KeyX, true
case "y":
return KeyY, true
case "z":
return KeyZ, true
case "alt":
return KeyAlt, true
case "apostrophe":
return KeyApostrophe, true
case "backslash":
return KeyBackslash, true
case "backspace":
return KeyBackspace, true
case "capslock":
return KeyCapsLock, true
case "comma":
return KeyComma, true
case "control":
return KeyControl, true
case "delete":
return KeyDelete, true
case "down":
return KeyDown, true
case "end":
return KeyEnd, true
case "enter":
return KeyEnter, true
case "equal":
return KeyEqual, true
case "escape":
return KeyEscape, true
case "f1":
return KeyF1, true
case "f2":
return KeyF2, true
case "f3":
return KeyF3, true
case "f4":
return KeyF4, true
case "f5":
return KeyF5, true
case "f6":
return KeyF6, true
case "f7":
return KeyF7, true
case "f8":
return KeyF8, true
case "f9":
return KeyF9, true
case "f10":
return KeyF10, true
case "f11":
return KeyF11, true
case "f12":
return KeyF12, true
case "graveaccent":
return KeyGraveAccent, true
case "home":
return KeyHome, true
case "insert":
return KeyInsert, true
case "kp0":
return KeyKP0, true
case "kp1":
return KeyKP1, true
case "kp2":
return KeyKP2, true
case "kp3":
return KeyKP3, true
case "kp4":
return KeyKP4, true
case "kp5":
return KeyKP5, true
case "kp6":
return KeyKP6, true
case "kp7":
return KeyKP7, true
case "kp8":
return KeyKP8, true
case "kp9":
return KeyKP9, true
case "kpadd":
return KeyKPAdd, true
case "kpdecimal":
return KeyKPDecimal, true
case "kpdivide":
return KeyKPDivide, true
case "kpenter":
return KeyKPEnter, true
case "kpequal":
return KeyKPEqual, true
case "kpmultiply":
return KeyKPMultiply, true
case "kpsubtract":
return KeyKPSubtract, true
case "left":
return KeyLeft, true
case "leftbracket":
return KeyLeftBracket, true
case "minus":
return KeyMinus, true
case "numlock":
return KeyNumLock, true
case "pagedown":
return KeyPageDown, true
case "pageup":
return KeyPageUp, true
case "period":
return KeyPeriod, true
case "right":
return KeyRight, true
case "rightbracket":
return KeyRightBracket, true
case "semicolon":
return KeySemicolon, true
case "shift":
return KeyShift, true
case "slash":
return KeySlash, true
case "space":
return KeySpace, true
case "tab":
return KeyTab, true
case "up":
return KeyUp, true
}
return 0, false
}