Giter VIP home page Giter VIP logo

cl-gamepad's People

Contributors

dpflug avatar drakonis avatar fosskers avatar liate7 avatar paulapatience avatar shinmera avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cl-gamepad's Issues

Don't depend on libevdev

Apparently libevdev is not available by default on debian/ubuntu systems, which is a problem.

Emulate missing buttons/axes

Some gamepads will not signal axes for buttons or vice-versa. This is especially common for dpad and triggers. It would be good if we emulated them if we know the device does not emit them.

list-devices function expected in org.shirakumo.fraf.gamepad package by compiler

; wrote /gnu/store/ypqxix0zcj2wbs7w22zkqwd1n4rkynxd-sbcl-cl-gamepad-3.0.0-1.2bb8f9e/lib/common-lisp/sbcl/cl-gamepad/default-device-mappings-tmp9BN22RMA.fasl
; compilation finished in 0:00:00.000
Unhandled UNDEFINED-FUNCTION in thread #<SB-THREAD:THREAD "main thread" RUNNING
                                          {100B7302C3}>:
  The function ORG.SHIRAKUMO.FRAF.GAMEPAD:LIST-DEVICES is undefined.

Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {100B7302C3}>
0: ("undefined function")
1: ((SETF DEVICE-MAPPING) (:NAME "JPD-UDV-01" :BUTTONS #<HASH-TABLE :TEST EQL :COUNT 12 {100747A7E3}> :AXES #<HASH-TABLE :TEST EQL :COUNT 5 {100747ADB3}> :ORIENTATIONS #<HASH-TABLE :TEST EQL :COUNT 0 {100747AF83}>) (:DINPUT 121 6))
2: (SB-FASL::LOAD-FASL-GROUP #S(SB-FASL::FASL-INPUT :STREAM #<SB-SYS:FD-STREAM for "file /gnu/store/ypqxix0zcj2wbs7w22zkqwd1n4rkynxd-sbcl-cl-gamepad-3.0.0-1.2bb8f9e/lib/common-lisp/sbcl/cl-gamepad/default-device-mappings.fasl" {1007474CB3}> :TABLE #(38 SET *PACKAGE* "ORG.SHIRAKUMO.FRAF.GAMEPAD" LIST :NAME #1="JPD-UDV-01" :BUTTONS #<PACKAGE "ORG.SHIRAKUMO.FRAF.GAMEPAD"> PLIST-MAP :A :B ...) :STACK #(0 FUNCALL #<FUNCTION (SETF DEVICE-MAPPING)> (:NAME #1# :BUTTONS #<HASH-TABLE :TEST EQL :COUNT 12 {100747A7E3}> :AXES #2=#<HASH-TABLE :TEST EQL :COUNT 5 {100747ADB3}> :ORIENTATIONS #3=#<HASH-TABLE :TEST EQL :COUNT 0 {100747AF83}>) (:DINPUT 121 6) 121 6 #2# :ORIENTATIONS #3# NIL :L-V ...) :NAME-BUFFER #("" "DINPUT-MAPPING") :DEPRECATED-STUFF NIL :SKIP-UNTIL NIL) NIL)
3: (SB-FASL::LOAD-AS-FASL #<SB-SYS:FD-STREAM for "file /gnu/store/ypqxix0zcj2wbs7w22zkqwd1n4rkynxd-sbcl-cl-gamepad-3.0.0-1.2bb8f9e/lib/common-lisp/sbcl/cl-gamepad/default-device-mappings.fasl" {1007474CB3}> NIL NIL)
4: ((FLET SB-FASL::THUNK :IN LOAD))
5: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<FUNCTION (FLET SB-FASL::THUNK :IN LOAD) {7FFFF793689B}> #<SB-SYS:FD-STREAM for "file /gnu/store/ypqxix0zcj2wbs7w22zkqwd1n4rkynxd-sbcl-cl-gamepad-3.0.0-1.2bb8f9e/lib/common-lisp/sbcl/cl-gamepad/default-device-mappings.fasl" {1007474CB3}>)
6: ((FLET SB-FASL::LOAD-STREAM :IN LOAD) #<SB-SYS:FD-STREAM for "file /gnu/store/ypqxix0zcj2wbs7w22zkqwd1n4rkynxd-sbcl-cl-gamepad-3.0.0-1.2bb8f9e/lib/common-lisp/sbcl/cl-gamepad/default-device-mappings.fasl" {1007474CB3}> T)
7: (LOAD #P"/gnu/store/ypqxix0zcj2wbs7w22zkqwd1n4rkynxd-sbcl-cl-gamepad-3.0.0-1.2bb8f9e/lib/common-lisp/sbcl/cl-gamepad/default-device-mappings.fasl" :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST T :EXTERNAL-FORMAT :DEFAULT)
8: (UIOP/UTILITY:CALL-WITH-MUFFLED-CONDITIONS #<FUNCTION (LAMBDA NIL :IN UIOP/LISP-BUILD:LOAD*) {100747465B}> ("Overwriting already existing readtable ~S." #(#:FINALIZERS-OFF-WARNING :ASDF-FINALIZERS)))
9: ((SB-PCL::EMF ASDF/ACTION:PERFORM) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cl-gamepad" "default-device-mappings">)
10: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION))
11: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS (ASDF/LISP-ACTION:LOAD-OP ASDF/LISP-ACTION:CL-SOURCE-FILE)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cl-gamepad" "default-device-mappings">) [fast-method]
12: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cl-gamepad" "default-device-mappings">) [fast-method]
13: ((:METHOD ASDF/PLAN:PERFORM-PLAN (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {1005D6F733}>) [fast-method]
14: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
15: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {1005D6F733}>) [fast-method]
16: ((:METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION ASDF/COMPONENT:COMPONENT)) #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/SYSTEM:SYSTEM "cl-gamepad"> :PLAN-CLASS NIL :PLAN-OPTIONS NIL) [fast-method]
17: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/SYSTEM:SYSTEM "cl-gamepad">)
18: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
19: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/SYSTEM:SYSTEM "cl-gamepad">) [fast-method]
20: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> ASDF/LISP-ACTION:COMPILE-OP "cl-gamepad")
21: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
22: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:COMPILE-OP "cl-gamepad") [fast-method]
23: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {1005D536FB}> :OVERRIDE T :KEY NIL :OVERRIDE-CACHE T :OVERRIDE-FORCING NIL)
24: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
25: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {1005D4F74B}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL :OVERRIDE-FORCING NIL)
26: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:COMPILE-OP "cl-gamepad") [fast-method]
27: (ASDF/OPERATE:COMPILE-SYSTEM "cl-gamepad")
28: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ASDF/OPERATE:COMPILE-SYSTEM "cl-gamepad") #<NULL-LEXENV>)
29: (EVAL (ASDF/OPERATE:COMPILE-SYSTEM "cl-gamepad"))
30: (SB-IMPL::PROCESS-EVAL/LOAD-OPTIONS ((:EVAL . "(require :asdf)") (:EVAL . "(asdf:load-asd (truename \"/gnu/store/ypqxix0zcj2wbs7w22zkqwd1n4rkynxd-sbcl-cl-gamepad-3.0.0-1.2bb8f9e/share/common-lisp/sbcl/cl-gamepad/cl-gamepad.asd\"))") (:EVAL . "(asdf:compile-system \"cl-gamepad\")") (:QUIT)))
31: (SB-IMPL::TOPLEVEL-INIT)
32: ((FLET SB-UNIX::BODY :IN SB-IMPL::START-LISP))
33: ((FLET "WITHOUT-INTERRUPTS-BODY-1" :IN SB-IMPL::START-LISP))
34: (SB-IMPL::START-LISP)

unhandled condition in --disable-debugger mode, quitting
;
; compilation unit aborted
;   caught 1 fatal ERROR condition
;   printed 1 note
command "/gnu/store/hwf73bmqkk70ffnd8pfdzrr09ak7lhwi-sbcl-2.1.5/bin/sbcl" "--non-interactive" "--eval" "(require :asdf)" "--eval" "(asdf:load-asd (truename \"/gnu/store/ypqxix0zcj2wbs7w22zkqwd1n4rkynxd-sbcl-cl-gamepad-3.0.0-1.2bb8f9e/share/common-lisp/sbcl/cl-gamepad/cl-gamepad.asd\"))" "--eval" "(asdf:compile-system \"cl-gamepad\")" failed with status 1

Doesn't work with CCL

Can't load package with CCL:

CCL is free software.  It is distributed under the terms of the Apache
Licence, Version 2.0.
? (ql:quickload :cl-gamepad)
To load "cl-gamepad":
  Load 1 ASDF system:
    cl-gamepad
; Loading "cl-gamepad"
[package org.shirakumo.com-on.cffi]...............
[package org.shirakumo.com-on]> Error: The value :LOCAL-NICKNAMES is not of the expected type (MEMBER :SIZE :EXTERNAL-SIZE :NICKNAMES :SHADOW :SHADOWING-IMPORT-FROM :USE :IMPORT-FROM :INTERN :EXPORT :DOCUMENTATION).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.