Fix input keys
This commit is contained in:
parent
ab5426c53c
commit
8c6cf7ae59
2 changed files with 14 additions and 9 deletions
|
|
@ -1,7 +1,9 @@
|
||||||
|
import sets
|
||||||
import libnx/graphics
|
import libnx/graphics
|
||||||
import libnx/wrapper/console
|
import libnx/wrapper/console
|
||||||
import libnx/wrapper/hid
|
import libnx/wrapper/hid
|
||||||
import libnx/app
|
import libnx/app
|
||||||
|
import libnx/input
|
||||||
|
|
||||||
proc main() =
|
proc main() =
|
||||||
initDefault()
|
initDefault()
|
||||||
|
|
@ -9,9 +11,12 @@ proc main() =
|
||||||
|
|
||||||
echo "\x1b[17;20HHELLO FROM NIM"
|
echo "\x1b[17;20HHELLO FROM NIM"
|
||||||
mainLoop:
|
mainLoop:
|
||||||
let keysDown = hidKeysDown(CONTROLLER_P1_AUTO)
|
let keysDown = keysDown(Controller.P1_AUTO)
|
||||||
|
|
||||||
if (keysDown and KEY_PLUS.uint64) > 0.uint64:
|
if keysDown.len() > 0:
|
||||||
|
echo keysDown
|
||||||
|
|
||||||
|
if ControllerKey.Plus in keysDown:
|
||||||
break
|
break
|
||||||
|
|
||||||
main()
|
main()
|
||||||
|
|
|
||||||
|
|
@ -177,13 +177,13 @@ proc setControllerLayout*(id: Controller, layoutType: ControllerLayoutType) =
|
||||||
proc getControllerLayout*(id: Controller): ControllerLayoutType =
|
proc getControllerLayout*(id: Controller): ControllerLayoutType =
|
||||||
hidGetControllerLayout(HidControllerID(id)).ControllerLayoutType
|
hidGetControllerLayout(HidControllerID(id)).ControllerLayoutType
|
||||||
|
|
||||||
proc scanInput*() = scanInput()
|
proc scanInput*() = hidScanInput()
|
||||||
|
|
||||||
proc keysHeld*(id: Controller): HashSet[ControllerKey] =
|
proc keysHeld*(id: Controller): HashSet[ControllerKey] =
|
||||||
result = initSet[ControllerKey]()
|
result = initSet[ControllerKey]()
|
||||||
|
|
||||||
var raw = hidKeysHeld(HidControllerID(id))
|
var raw = hidKeysHeld(HidControllerID(id))
|
||||||
for i in ControllerKey.low.int ..< ControllerKey.size:
|
for i in 0 ..< ControllerKey.size:
|
||||||
let bit = raw and 0x1
|
let bit = raw and 0x1
|
||||||
if bit == 1:
|
if bit == 1:
|
||||||
result.incl(ControllerKey(BIT(i)))
|
result.incl(ControllerKey(BIT(i)))
|
||||||
|
|
@ -193,7 +193,7 @@ proc keysDown*(id: Controller): HashSet[ControllerKey] =
|
||||||
result = initSet[ControllerKey]()
|
result = initSet[ControllerKey]()
|
||||||
|
|
||||||
var raw = hidKeysDown(HidControllerID(id))
|
var raw = hidKeysDown(HidControllerID(id))
|
||||||
for i in ControllerKey.low.int ..< ControllerKey.size:
|
for i in 0 ..< ControllerKey.size:
|
||||||
let bit = raw and 0x1
|
let bit = raw and 0x1
|
||||||
if bit == 1:
|
if bit == 1:
|
||||||
result.incl(ControllerKey(BIT(i)))
|
result.incl(ControllerKey(BIT(i)))
|
||||||
|
|
@ -203,7 +203,7 @@ proc keysUp*(id: Controller): HashSet[ControllerKey] =
|
||||||
result = initSet[ControllerKey]()
|
result = initSet[ControllerKey]()
|
||||||
|
|
||||||
var raw = hidKeysUp(HidControllerID(id))
|
var raw = hidKeysUp(HidControllerID(id))
|
||||||
for i in ControllerKey.low.int ..< ControllerKey.size:
|
for i in 0 ..< ControllerKey.size:
|
||||||
let bit = raw and 0x1
|
let bit = raw and 0x1
|
||||||
if bit == 1:
|
if bit == 1:
|
||||||
result.incl(ControllerKey(BIT(i)))
|
result.incl(ControllerKey(BIT(i)))
|
||||||
|
|
@ -213,7 +213,7 @@ proc mouseButtonsHeld*(): HashSet[MouseButton] =
|
||||||
result = initSet[MouseButton]()
|
result = initSet[MouseButton]()
|
||||||
|
|
||||||
var raw = hidMouseButtonsHeld()
|
var raw = hidMouseButtonsHeld()
|
||||||
for i in MouseButton.low.int ..< MouseButton.size:
|
for i in 0 ..< MouseButton.size:
|
||||||
let bit = raw and 0x1
|
let bit = raw and 0x1
|
||||||
if bit == 1:
|
if bit == 1:
|
||||||
result.incl(MouseButton(BIT(i)))
|
result.incl(MouseButton(BIT(i)))
|
||||||
|
|
@ -224,7 +224,7 @@ proc mouseButtonsDown*(): HashSet[MouseButton] =
|
||||||
result = initSet[MouseButton]()
|
result = initSet[MouseButton]()
|
||||||
|
|
||||||
var raw = hidMouseButtonsDown()
|
var raw = hidMouseButtonsDown()
|
||||||
for i in MouseButton.low.int ..< MouseButton.size:
|
for i in 0 ..< MouseButton.size:
|
||||||
let bit = raw and 0x1
|
let bit = raw and 0x1
|
||||||
if bit == 1:
|
if bit == 1:
|
||||||
result.incl(MouseButton(BIT(i)))
|
result.incl(MouseButton(BIT(i)))
|
||||||
|
|
@ -234,7 +234,7 @@ proc mouseButtonsUp*(): HashSet[MouseButton] =
|
||||||
result = initSet[MouseButton]()
|
result = initSet[MouseButton]()
|
||||||
|
|
||||||
var raw = hidMouseButtonsUp()
|
var raw = hidMouseButtonsUp()
|
||||||
for i in MouseButton.low.int ..< MouseButton.size:
|
for i in 0 ..< MouseButton.size:
|
||||||
let bit = raw and 0x1
|
let bit = raw and 0x1
|
||||||
if bit == 1:
|
if bit == 1:
|
||||||
result.incl(MouseButton(BIT(i)))
|
result.incl(MouseButton(BIT(i)))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue