mirror of
https://github.com/freewilll/apple2-go.git
synced 2024-06-12 02:29:32 +00:00
Added capslock key, toggable with ctrl-alt-c
This commit is contained in:
parent
100c44cb11
commit
0a7b8c81b3
|
@ -11,10 +11,12 @@ var controlMap map[uint8]uint8
|
||||||
var keyBoardData uint8
|
var keyBoardData uint8
|
||||||
var strobe uint8
|
var strobe uint8
|
||||||
var previousKeysPressed map[uint8]bool
|
var previousKeysPressed map[uint8]bool
|
||||||
|
var capsLock bool
|
||||||
|
|
||||||
func Init() {
|
func Init() {
|
||||||
keyBoardData = 0
|
keyBoardData = 0
|
||||||
strobe = 0
|
strobe = 0
|
||||||
|
capsLock = true
|
||||||
|
|
||||||
ebitenAsciiMap = make(map[ebiten.Key]uint8)
|
ebitenAsciiMap = make(map[ebiten.Key]uint8)
|
||||||
shiftMap = make(map[uint8]uint8)
|
shiftMap = make(map[uint8]uint8)
|
||||||
|
@ -225,22 +227,28 @@ func Poll() {
|
||||||
}
|
}
|
||||||
key := keys[0]
|
key := keys[0]
|
||||||
|
|
||||||
if ebiten.IsKeyPressed(ebiten.KeyShift) {
|
if ebiten.IsKeyPressed(ebiten.KeyControl) && ebiten.IsKeyPressed(ebiten.KeyAlt) && key == 'c' {
|
||||||
shiftedKey, present := shiftMap[key]
|
capsLock = !capsLock
|
||||||
if present {
|
} else {
|
||||||
key = shiftedKey
|
shift := ebiten.IsKeyPressed(ebiten.KeyShift)
|
||||||
}
|
shift = shift || (capsLock && key >= 'a' && key <= 'z')
|
||||||
}
|
|
||||||
|
|
||||||
if ebiten.IsKeyPressed(ebiten.KeyControl) {
|
if shift {
|
||||||
controlKey, present := controlMap[key]
|
shiftedKey, present := shiftMap[key]
|
||||||
if present {
|
if present {
|
||||||
key = controlKey
|
key = shiftedKey
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
keyBoardData = key | 0x80
|
if ebiten.IsKeyPressed(ebiten.KeyControl) {
|
||||||
strobe = keyBoardData
|
controlKey, present := controlMap[key]
|
||||||
|
if present {
|
||||||
|
key = controlKey
|
||||||
|
}
|
||||||
|
}
|
||||||
|
keyBoardData = key | 0x80
|
||||||
|
strobe = keyBoardData
|
||||||
|
}
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user