mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2024-12-25 11:18:54 +01:00
event: Add Key (#933)
This also renames event names from Key* to KeyboardKey*. Updates #926
This commit is contained in:
parent
272923da65
commit
06d38790ff
@ -25,12 +25,11 @@ package event
|
|||||||
type Event interface {
|
type Event interface {
|
||||||
}
|
}
|
||||||
|
|
||||||
// KeyCharacter is an event that occurs when a character is actually typed on
|
// KeyboardKeyCharacter is an event that occurs when a character is actually typed on
|
||||||
// the keyboard. This may be provided by an input method.
|
// the keyboard. This may be provided by an input method.
|
||||||
type KeyCharacter struct {
|
type KeyboardKeyCharacter struct {
|
||||||
// Code is the key code of the key typed.
|
// Key is the key code of the key typed.
|
||||||
// TODO: this should change later from an int to an enumeration type.
|
Key Key
|
||||||
Code int
|
|
||||||
// Modifiers are the modifiers pressed together with the key.
|
// Modifiers are the modifiers pressed together with the key.
|
||||||
// TODO: this should change later from an int to an enumeration type.
|
// TODO: this should change later from an int to an enumeration type.
|
||||||
Modifiers int
|
Modifiers int
|
||||||
@ -38,19 +37,18 @@ type KeyCharacter struct {
|
|||||||
Character rune
|
Character rune
|
||||||
}
|
}
|
||||||
|
|
||||||
// KeyDown is an event that occurs when a key is pressed on the keyboard.
|
// KeyboardKeyDown is an event that occurs when a key is pressed on the keyboard.
|
||||||
type KeyDown struct {
|
type KeyboardKeyDown struct {
|
||||||
// Code is the key code of the key pressed or released.
|
// Key is the key code of the key pressed or released.
|
||||||
// TODO: this should change later from an int to an enumeration type.
|
Key Key
|
||||||
Code int
|
|
||||||
// Modifiers are the modifiers pressed together with the key.
|
// Modifiers are the modifiers pressed together with the key.
|
||||||
// TODO: this should change later from an int to an enumeration type.
|
// TODO: this should change later from an int to an enumeration type.
|
||||||
Modifiers int
|
Modifiers int
|
||||||
}
|
}
|
||||||
|
|
||||||
// KeyUp is an event that occurs when a key is released on the keyboard.
|
// KeyboardKeyUp is an event that occurs when a key is released on the keyboard.
|
||||||
// The data is the same as for a KeyDown event.
|
// The data is the same as for a KeyboardKeyDown event.
|
||||||
type KeyUp KeyDown
|
type KeyboardKeyUp KeyboardKeyDown
|
||||||
|
|
||||||
// GamepadAxis is for event where an axis on a gamepad changes.
|
// GamepadAxis is for event where an axis on a gamepad changes.
|
||||||
type GamepadAxis struct {
|
type GamepadAxis struct {
|
||||||
|
129
event/keys.go
Normal file
129
event/keys.go
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
// 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 event
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/hajimehoshi/ebiten/internal/driver"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Key int
|
||||||
|
|
||||||
|
const (
|
||||||
|
Key0 Key = Key(driver.Key0)
|
||||||
|
Key1 Key = Key(driver.Key1)
|
||||||
|
Key2 Key = Key(driver.Key2)
|
||||||
|
Key3 Key = Key(driver.Key3)
|
||||||
|
Key4 Key = Key(driver.Key4)
|
||||||
|
Key5 Key = Key(driver.Key5)
|
||||||
|
Key6 Key = Key(driver.Key6)
|
||||||
|
Key7 Key = Key(driver.Key7)
|
||||||
|
Key8 Key = Key(driver.Key8)
|
||||||
|
Key9 Key = Key(driver.Key9)
|
||||||
|
KeyA Key = Key(driver.KeyA)
|
||||||
|
KeyB Key = Key(driver.KeyB)
|
||||||
|
KeyC Key = Key(driver.KeyC)
|
||||||
|
KeyD Key = Key(driver.KeyD)
|
||||||
|
KeyE Key = Key(driver.KeyE)
|
||||||
|
KeyF Key = Key(driver.KeyF)
|
||||||
|
KeyG Key = Key(driver.KeyG)
|
||||||
|
KeyH Key = Key(driver.KeyH)
|
||||||
|
KeyI Key = Key(driver.KeyI)
|
||||||
|
KeyJ Key = Key(driver.KeyJ)
|
||||||
|
KeyK Key = Key(driver.KeyK)
|
||||||
|
KeyL Key = Key(driver.KeyL)
|
||||||
|
KeyM Key = Key(driver.KeyM)
|
||||||
|
KeyN Key = Key(driver.KeyN)
|
||||||
|
KeyO Key = Key(driver.KeyO)
|
||||||
|
KeyP Key = Key(driver.KeyP)
|
||||||
|
KeyQ Key = Key(driver.KeyQ)
|
||||||
|
KeyR Key = Key(driver.KeyR)
|
||||||
|
KeyS Key = Key(driver.KeyS)
|
||||||
|
KeyT Key = Key(driver.KeyT)
|
||||||
|
KeyU Key = Key(driver.KeyU)
|
||||||
|
KeyV Key = Key(driver.KeyV)
|
||||||
|
KeyW Key = Key(driver.KeyW)
|
||||||
|
KeyX Key = Key(driver.KeyX)
|
||||||
|
KeyY Key = Key(driver.KeyY)
|
||||||
|
KeyZ Key = Key(driver.KeyZ)
|
||||||
|
KeyApostrophe Key = Key(driver.KeyApostrophe)
|
||||||
|
KeyBackslash Key = Key(driver.KeyBackslash)
|
||||||
|
KeyBackspace Key = Key(driver.KeyBackspace)
|
||||||
|
KeyCapsLock Key = Key(driver.KeyCapsLock)
|
||||||
|
KeyComma Key = Key(driver.KeyComma)
|
||||||
|
KeyDelete Key = Key(driver.KeyDelete)
|
||||||
|
KeyDown Key = Key(driver.KeyDown)
|
||||||
|
KeyEnd Key = Key(driver.KeyEnd)
|
||||||
|
KeyEnter Key = Key(driver.KeyEnter)
|
||||||
|
KeyEqual Key = Key(driver.KeyEqual)
|
||||||
|
KeyEscape Key = Key(driver.KeyEscape)
|
||||||
|
KeyF1 Key = Key(driver.KeyF1)
|
||||||
|
KeyF2 Key = Key(driver.KeyF2)
|
||||||
|
KeyF3 Key = Key(driver.KeyF3)
|
||||||
|
KeyF4 Key = Key(driver.KeyF4)
|
||||||
|
KeyF5 Key = Key(driver.KeyF5)
|
||||||
|
KeyF6 Key = Key(driver.KeyF6)
|
||||||
|
KeyF7 Key = Key(driver.KeyF7)
|
||||||
|
KeyF8 Key = Key(driver.KeyF8)
|
||||||
|
KeyF9 Key = Key(driver.KeyF9)
|
||||||
|
KeyF10 Key = Key(driver.KeyF10)
|
||||||
|
KeyF11 Key = Key(driver.KeyF11)
|
||||||
|
KeyF12 Key = Key(driver.KeyF12)
|
||||||
|
KeyGraveAccent Key = Key(driver.KeyGraveAccent)
|
||||||
|
KeyHome Key = Key(driver.KeyHome)
|
||||||
|
KeyInsert Key = Key(driver.KeyInsert)
|
||||||
|
KeyKP0 Key = Key(driver.KeyKP0)
|
||||||
|
KeyKP1 Key = Key(driver.KeyKP1)
|
||||||
|
KeyKP2 Key = Key(driver.KeyKP2)
|
||||||
|
KeyKP3 Key = Key(driver.KeyKP3)
|
||||||
|
KeyKP4 Key = Key(driver.KeyKP4)
|
||||||
|
KeyKP5 Key = Key(driver.KeyKP5)
|
||||||
|
KeyKP6 Key = Key(driver.KeyKP6)
|
||||||
|
KeyKP7 Key = Key(driver.KeyKP7)
|
||||||
|
KeyKP8 Key = Key(driver.KeyKP8)
|
||||||
|
KeyKP9 Key = Key(driver.KeyKP9)
|
||||||
|
KeyKPAdd Key = Key(driver.KeyKPAdd)
|
||||||
|
KeyKPDecimal Key = Key(driver.KeyKPDecimal)
|
||||||
|
KeyKPDivide Key = Key(driver.KeyKPDivide)
|
||||||
|
KeyKPEnter Key = Key(driver.KeyKPEnter)
|
||||||
|
KeyKPEqual Key = Key(driver.KeyKPEqual)
|
||||||
|
KeyKPMultiply Key = Key(driver.KeyKPMultiply)
|
||||||
|
KeyKPSubtract Key = Key(driver.KeyKPSubtract)
|
||||||
|
KeyLeft Key = Key(driver.KeyLeft)
|
||||||
|
KeyLeftAlt Key = Key(driver.KeyLeftAlt)
|
||||||
|
KeyLeftBracket Key = Key(driver.KeyLeftBracket)
|
||||||
|
KeyLeftControl Key = Key(driver.KeyLeftControl)
|
||||||
|
KeyLeftShift Key = Key(driver.KeyLeftShift)
|
||||||
|
KeyMenu Key = Key(driver.KeyMenu)
|
||||||
|
KeyMinus Key = Key(driver.KeyMinus)
|
||||||
|
KeyNumLock Key = Key(driver.KeyNumLock)
|
||||||
|
KeyPageDown Key = Key(driver.KeyPageDown)
|
||||||
|
KeyPageUp Key = Key(driver.KeyPageUp)
|
||||||
|
KeyPause Key = Key(driver.KeyPause)
|
||||||
|
KeyPeriod Key = Key(driver.KeyPeriod)
|
||||||
|
KeyPrintScreen Key = Key(driver.KeyPrintScreen)
|
||||||
|
KeyRight Key = Key(driver.KeyRight)
|
||||||
|
KeyRightAlt Key = Key(driver.KeyRightAlt)
|
||||||
|
KeyRightBracket Key = Key(driver.KeyRightBracket)
|
||||||
|
KeyRightControl Key = Key(driver.KeyRightControl)
|
||||||
|
KeyRightShift Key = Key(driver.KeyRightShift)
|
||||||
|
KeyScrollLock Key = Key(driver.KeyScrollLock)
|
||||||
|
KeySemicolon Key = Key(driver.KeySemicolon)
|
||||||
|
KeySlash Key = Key(driver.KeySlash)
|
||||||
|
KeySpace Key = Key(driver.KeySpace)
|
||||||
|
KeyTab Key = Key(driver.KeyTab)
|
||||||
|
KeyUp Key = Key(driver.KeyUp)
|
||||||
|
)
|
21
genkeys.go
21
genkeys.go
@ -306,6 +306,24 @@ const (
|
|||||||
)
|
)
|
||||||
`
|
`
|
||||||
|
|
||||||
|
const eventKeysTmpl = `{{.License}}
|
||||||
|
|
||||||
|
{{.DoNotEdit}}
|
||||||
|
|
||||||
|
package event
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/hajimehoshi/ebiten/internal/driver"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Key int
|
||||||
|
|
||||||
|
const (
|
||||||
|
{{range $index, $name := .DriverKeyNames}}Key{{$name}} Key = Key(driver.Key{{$name}})
|
||||||
|
{{end}}
|
||||||
|
)
|
||||||
|
`
|
||||||
|
|
||||||
const uidriverGlfwKeysTmpl = `{{.License}}
|
const uidriverGlfwKeysTmpl = `{{.License}}
|
||||||
|
|
||||||
{{.DoNotEdit}}
|
{{.DoNotEdit}}
|
||||||
@ -480,11 +498,12 @@ func main() {
|
|||||||
sort.Slice(driverKeyNames, keyNamesLess(driverKeyNames))
|
sort.Slice(driverKeyNames, keyNamesLess(driverKeyNames))
|
||||||
|
|
||||||
for path, tmpl := range map[string]string{
|
for path, tmpl := range map[string]string{
|
||||||
"keys.go": ebitenKeysTmpl,
|
"event/keys.go": eventKeysTmpl,
|
||||||
"internal/driver/keys.go": driverKeysTmpl,
|
"internal/driver/keys.go": driverKeysTmpl,
|
||||||
"internal/glfw/keys.go": glfwKeysTmpl,
|
"internal/glfw/keys.go": glfwKeysTmpl,
|
||||||
"internal/uidriver/glfw/keys.go": uidriverGlfwKeysTmpl,
|
"internal/uidriver/glfw/keys.go": uidriverGlfwKeysTmpl,
|
||||||
"internal/uidriver/js/keys.go": uidriverJsKeysTmpl,
|
"internal/uidriver/js/keys.go": uidriverJsKeysTmpl,
|
||||||
|
"keys.go": ebitenKeysTmpl,
|
||||||
} {
|
} {
|
||||||
f, err := os.Create(path)
|
f, err := os.Create(path)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user