Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Controller input #8807

Merged
merged 44 commits into from Mar 11, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
7940939
MySQL issues - Fix drop index syntax and case sensitivity on table name
DaveTBlake Mar 10, 2016
ae41f30
Kodi : support joystick detection via udev
Nov 14, 2015
f751d23
[addon callbacks] Import xbmc_vfs_utils.hpp
garbear Jun 23, 2015
6a084cc
[input] Add CAction::IsAnalog() to test if an action is an analog action
garbear Mar 7, 2013
86a4c36
[input] Add copy constructor and copy assignment to CAction
garbear Feb 3, 2016
44ecc29
[settings] Add comparison conditions
garbear Jan 21, 2016
bbbc903
Remove joystick code
garbear Dec 13, 2014
a109460
Remove joystick keymaps
garbear Dec 14, 2014
1fe1a1a
Joystick library
garbear Jan 11, 2015
afec102
Peripheral add-ons
garbear Jan 11, 2015
f877537
Controller add-ons
garbear Feb 19, 2015
fd95e8e
Kodi input
garbear Dec 12, 2015
4b35de5
Controller configuration window
garbear Dec 12, 2015
84ad8eb
Import game.controller.default
garbear Mar 18, 2015
6b13d79
CGUIControllerWindow: close the window if there's no joystick support…
Montellese Feb 2, 2016
dec7f09
CPeripherals: a lot of cosmetics and C++11 stuff
Montellese Feb 4, 2016
9db0c70
CPeripherals: use shared pointers to store CPeripheralBus instances
Montellese Feb 4, 2016
c5c45bc
CPeripheralBusAddon: use callbacks/observer to reload peripheral addo…
Montellese Feb 4, 2016
cebdb0e
CPeripherals: use separate lock guards for m_busses and m_mappings
Montellese Feb 4, 2016
a2ea8f0
CPeripherals: avoid a deadlock in Clear() when destroying a CPeripher…
Montellese Feb 4, 2016
6f9536c
[controller dialog] Add help button
garbear Feb 5, 2016
fd40ab1
CGUIControllerWindow: enable/disable the "Get more..." button dependi…
Montellese Feb 5, 2016
3b378ef
CGUIControllerWindow: jump to the controller feature/button list when…
Montellese Feb 5, 2016
efa0f54
Fix keypress not absorbed when cancelling the prompt
garbear Feb 6, 2016
b3a922a
CPeripheralBusAddon: stop the polling thread from CPeripheralBus befo…
Montellese Feb 6, 2016
fa841d8
Reduce file name length
garbear Feb 6, 2016
404f917
[xcode] Sync project
garbear Mar 11, 2016
b6396f9
CPeripheralAddon: destroy all owned peripherals
Montellese Feb 6, 2016
ef98d69
CAddonJoystickButtonMap: use a weak instead of a shared pointer to CP…
Montellese Feb 6, 2016
3d42e1a
CGUIControllerWindow: fix focusing of DialogOK if no peripheral addon…
Montellese Feb 6, 2016
32afc5a
only show setting to open the controller configuration window if a pe…
Montellese Feb 6, 2016
4c8236b
Fix check for joystick add-ons
garbear Feb 6, 2016
429f588
CPeripheralBus: forward declare CPeripheral
Montellese Feb 10, 2016
1bd9dd2
[peripherals] pass the CPeripheralBus instance to CPeripheral to avoi…
Montellese Feb 10, 2016
cb9cb00
[peripherals] trigger a scan for devices after having initialised the…
Montellese Feb 10, 2016
7f94d9d
[android] don't install joystick.xml with APK
Montellese Feb 7, 2016
bb74a40
[android] CJNIList: make get() and size() const
Montellese Feb 12, 2016
d09d579
[android] JNI: add CJNIOsVibrator class and some additional methods t…
Montellese Feb 7, 2016
ea11320
[android] add JNI wrapper for android.hardware.input.InputManager, a …
Montellese Feb 9, 2016
b491088
[android] update joystick input handling
Montellese Feb 7, 2016
9e1f93a
[android][peripherals] add CPeripheralBusAndroid and update CPeripher…
Montellese Feb 9, 2016
9bdc25f
[ios] - fixed compilation
Memphiz Mar 6, 2016
e2a9c00
[cmake] Controller input
fetzerch Mar 9, 2016
5abbea2
Merge pull request #50 from fetzerch/cmake_controller
garbear Mar 11, 2016
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
6 changes: 6 additions & 0 deletions .gitignore
Expand Up @@ -124,6 +124,7 @@ cmake_install.cmake
/addons/audioencoder.*
/addons/pvr.*
/addons/adsp.*
/addons/peripheral.*
/addons/xbmc.addon/addon.xml
/addons/xbmc.json/addon.xml
/addons/kodi.guilib/addon.xml
Expand All @@ -142,6 +143,7 @@ cmake_install.cmake
/lib/addons/library.kodi.adsp/Makefile
/lib/addons/library.xbmc.pvr/Makefile
/lib/addons/library.xbmc.codec/Makefile
/lib/addons/library.kodi.peripheral/Makefile
/lib/addons/library.xbmc.addon/project/VS2010Express/Release
/lib/addons/library.xbmc.addon/project/VS2010Express/Debug
/lib/addons/library.kodi.adsp/project/VS2010Express/Release
Expand All @@ -153,6 +155,8 @@ cmake_install.cmake
/lib/addons/library.kodi.audioengine/Makefile
/lib/addons/library.kodi.audioengine/project/VS2010Express/Release/
/lib/addons/library.kodi.audioengine/project/VS2010Express/Debug/
/lib/addons/library.kodi.peripheral/project/VS2010Express/Release
/lib/addons/library.kodi.peripheral/project/VS2010Express/Debug

# /lib/cpluff/
/lib/cpluff/ABOUT-NLS
Expand Down Expand Up @@ -329,6 +333,7 @@ lib/cpluff/stamp-h1
/tools/android/packaging/xbmc/src/org/xbmc/kodi/Main.java
/tools/android/packaging/xbmc/src/org/xbmc/kodi/Splash.java
/tools/android/packaging/xbmc/src/org/xbmc/kodi/XBMCBroadcastReceiver.java
/tools/android/packaging/xbmc/src/org/xbmc/kodi/XBMCInputDeviceListener.java
/tools/android/packaging/xbmc/src/org/xbmc/kodi/XBMCOnAudioFocusChangeListener.java
/tools/android/packaging/xbmc/src/org/xbmc/kodi/XBMCOnFrameAvailableListener.java
/tools/android/packaging/xbmc/src/org/xbmc/kodi/XBMCSettingsContentObserver.java
Expand Down Expand Up @@ -486,6 +491,7 @@ lib/cpluff/stamp-h1
/xbmc/platform/darwin/osx/ios/IOS-Info.plist

# /xbmc/peripherals/
/xbmc/peripherals/addons/Makefile
/xbmc/peripherals/bus/Makefile
/xbmc/peripherals/devices/Makefile

Expand Down
352 changes: 344 additions & 8 deletions Kodi.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

15 changes: 13 additions & 2 deletions Makefile.in
Expand Up @@ -11,7 +11,7 @@ EC_DIRS= \

DVDPCODECS_DIRS= \
lib \
lib/libdvd
lib/libdvd

VideoPlayer_ARCHIVES=xbmc/cores/VideoPlayer/VideoPlayer.a \
xbmc/cores/VideoPlayer/DVDCodecs/DVDCodecs.a \
Expand All @@ -32,6 +32,7 @@ DIRECTORY_ARCHIVES=$(VideoPlayer_ARCHIVES) \
xbmc/addons/binary/interfaces/api1/Codec/addon-callbacks-codec.a \
xbmc/addons/binary/interfaces/api1/GUI/addon-callbacks-gui.a \
xbmc/addons/binary/interfaces/api1/InputStream/addon-callbacks-inputstream.a \
xbmc/addons/binary/interfaces/api1/Peripheral/addon-callbacks-peripheral.a \
xbmc/addons/binary/interfaces/api1/PVR/addon-callbacks-pvr.a \
xbmc/cdrip/cdrip.a \
xbmc/contrib/kissfft/kissfft.a \
Expand All @@ -53,6 +54,9 @@ DIRECTORY_ARCHIVES=$(VideoPlayer_ARCHIVES) \
xbmc/filesystem/MusicDatabaseDirectory/musicdatabasedirectory.a \
xbmc/filesystem/VideoDatabaseDirectory/videodatabasedirectory.a \
xbmc/filesystem/filesystem.a \
xbmc/games/controllers/controllers.a \
xbmc/games/controllers/guicontrols/controllerguicontrols.a \
xbmc/games/controllers/windows/controllerwindows.a \
xbmc/guilib/guilib.a \
xbmc/input/input.a \
xbmc/interfaces/builtins/builtins.a \
Expand All @@ -76,6 +80,7 @@ DIRECTORY_ARCHIVES=$(VideoPlayer_ARCHIVES) \
xbmc/network/dacp/dacp.a \
xbmc/network/websocket/websocket.a \
xbmc/network/network.a \
xbmc/peripherals/addons/peripheral-addons.a \
xbmc/peripherals/bus/peripheral-bus.a \
xbmc/peripherals/devices/peripheral-devices.a \
xbmc/peripherals/dialogs/peripheral-dialogs.a \
Expand Down Expand Up @@ -153,6 +158,8 @@ INSTALL_FILTER += .*repository\.pvr-ios\.xbmc\.org.*
INSTALL_FILTER += .*repository\.pvr-win32\.xbmc\.org.*
INSTALL_FILTER += .*repository\.pvr-osx.*\.xbmc\.org.*
ifeq (@USE_ANDROID@,1)
DIRECTORY_ARCHIVES += xbmc/input/joysticks/input_joysticks.a
DIRECTORY_ARCHIVES += xbmc/input/joysticks/generic/input_joysticks_generic.a
DIRECTORY_ARCHIVES += xbmc/input/linux/input_linux.a
DIRECTORY_ARCHIVES += xbmc/input/touch/input_touch.a
DIRECTORY_ARCHIVES += xbmc/input/touch/generic/input_touch_generic.a
Expand All @@ -161,6 +168,8 @@ DIRECTORY_ARCHIVES += xbmc/powermanagement/android/powermanagement_android.a
DIRECTORY_ARCHIVES += xbmc/storage/android/storage_android.a
DIRECTORY_ARCHIVES += xbmc/windowing/X11/windowing_X11.a
else
DIRECTORY_ARCHIVES += xbmc/input/joysticks/input_joysticks.a
DIRECTORY_ARCHIVES += xbmc/input/joysticks/generic/input_joysticks_generic.a
DIRECTORY_ARCHIVES += xbmc/input/linux/input_linux.a
DIRECTORY_ARCHIVES += xbmc/input/touch/input_touch.a
DIRECTORY_ARCHIVES += xbmc/input/touch/generic/input_touch_generic.a
Expand Down Expand Up @@ -203,7 +212,8 @@ LIBADDON_DIRS=\
lib/addons/library.xbmc.codec \
lib/addons/library.xbmc.pvr \
lib/addons/library.kodi.guilib \
lib/addons/library.kodi.inputstream
lib/addons/library.kodi.inputstream \
lib/addons/library.kodi.peripheral \

ESTUARY_MEDIA=addons/skin.estuary/media
SKIN_DIRS=$(ESTUARY_MEDIA)
Expand Down Expand Up @@ -325,6 +335,7 @@ libaddon: exports
$(MAKE) -C lib/addons/library.kodi.audioengine
$(MAKE) -C lib/addons/library.xbmc.codec
$(MAKE) -C lib/addons/library.kodi.guilib
$(MAKE) -C lib/addons/library.kodi.peripheral
$(MAKE) -C lib/addons/library.xbmc.pvr
$(MAKE) -C lib/addons/library.kodi.inputstream
dvdpcodecs: dllloader
Expand Down
16 changes: 16 additions & 0 deletions addons/game.controller.default/addon.xml
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="game.controller.default"
name="Default Controller"
version="1.0.1"
provider-name="garbear">
<requires>
</requires>
<extension point="kodi.game.controller" library="layout.xml"/>
<extension point="xbmc.addon.metadata">
<summary>Default Controller</summary>
<description>The default media center controller is based on the Xbox 360 controller.</description>
<disclaimer></disclaimer>
<platform>all</platform>
<nofanart>true</nofanart>
</extension>
</addon>
Binary file added addons/game.controller.default/layout.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
30 changes: 30 additions & 0 deletions addons/game.controller.default/layout.xml
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<layout name="default" label="30000" image="layout.png">
<face>
<button name="a" type="digital" label="30001" geometry="circle" x="651" y="266" radius="32"/>
<button name="b" type="digital" label="30002" geometry="circle" x="709" y="210" radius="32"/>
<button name="x" type="digital" label="30003" geometry="circle" x="583" y="210" radius="32"/>
<button name="y" type="digital" label="30004" geometry="circle" x="651" y="158" radius="32"/>
<button name="start" type="digital" label="30005" geometry="ellipse" x="478" y="227" rx="22" ry="16"/>
<button name="back" type="digital" label="30006" geometry="ellipse" x="290" y="227" rx="22" ry="16"/>
<button name="guide" type="digital" label="30007" geometry="circle" x="386" y="221" radius="50"/>
<button name="up" type="digital" label="30010" geometry="circle" x="117" y="234" r="52"/>
<button name="down" type="digital" label="30011" geometry="circle" x="500" y="342" r="52"/>
<button name="right" type="digital" label="30012" geometry="rectangle" x1="233" y1="288" x2="281" y2="332"/>
<button name="left" type="digital" label="30013" geometry="rectangle" x1="233" y1="353" x2="281" y2="397"/>
<button name="leftthumb" type="digital" label="30008" geometry="rectangle" x1="131" y1="0" x2="194" y2="40"/>
<button name="rightthumb" type="digital" label="30009" geometry="rectangle" x1="567" y1="0" x2="631" y2="40"/>
</face>
<shoulder>
<button name="leftbumper" type="digital" label="30014" geometry="rectangle" x1="272" y1="321" x2="316" y2="365"/>
<button name="rightbumper" type="digital" label="30015" geometry="rectangle" x1="198" y1="321" x2="242" y2="365"/>
</shoulder>
<triggers>
<button name="lefttrigger" type="analog" label="30016" geometry="rectangle" x1="36" y1="40" x2="207" y2="108"/>
<button name="righttrigger" type="analog" label="30017" geometry="rectangle" x1="556" y1="40" x2="728" y2="108"/>
</triggers>
<analogsticks>
<analogstick name="leftstick" label="30008" geometry="circle" x="500" y="342" r="52"/>
<analogstick name="rightstick" label="30009" geometry="circle" x="500" y="342" r="52"/>
</analogsticks>
</layout>
@@ -0,0 +1,90 @@
# XBMC Media Center language file
# Addon Name: Default controller
# Addon id: game.controller.default
# Addon Provider: Libretro Team
msgid ""
msgstr ""
"Project-Id-Version: Libretro Clients\n"
"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2014-05-30 17:00+8\n"
"Last-Translator: XBMC Translation Team\n"
"Language-Team: English (http://www.transifex.com/projects/p/xbmc-addons/language/en/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: en\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

msgctxt "#30000"
msgid "Kodi"
msgstr ""

msgctxt "#30001"
msgid "A"
msgstr ""

msgctxt "#30002"
msgid "B"
msgstr ""

msgctxt "#30003"
msgid "X"
msgstr ""

msgctxt "#30004"
msgid "Y"
msgstr ""

msgctxt "#30005"
msgid "Start"
msgstr ""

msgctxt "#30006"
msgid "Back"
msgstr ""

msgctxt "#30007"
msgid "Guide"
msgstr ""

msgctxt "#30008"
msgid "Left Stick"
msgstr ""

msgctxt "#30009"
msgid "Right Stick"
msgstr ""

msgctxt "#30010"
msgid "Up"
msgstr ""

msgctxt "#30011"
msgid "Down"
msgstr ""

msgctxt "#30012"
msgid "Right"
msgstr ""

msgctxt "#30013"
msgid "Left"
msgstr ""

msgctxt "#30014"
msgid "Left Shoulder"
msgstr ""

msgctxt "#30015"
msgid "Right Shoulder"
msgstr ""

msgctxt "#30016"
msgid "Left Trigger"
msgstr ""

msgctxt "#30017"
msgid "Right Trigger"
msgstr ""

8 changes: 8 additions & 0 deletions addons/kodi.game/addon.xml
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<addon id="kodi.game" version="1.0.14" provider-name="Team-Kodi">
<backwards-compatibility abi="1.0.14"/>
<requires>
<import addon="xbmc.core" version="0.1.0"/>
</requires>
<extension-point id="controller" schema="controller.xsd"/>
</addon>
21 changes: 21 additions & 0 deletions addons/kodi.game/controller.xsd
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd">
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="extension">
<xs:complexType>
<xs:complexContent>
<xs:extension base="gamecontroller">
<xs:attribute name="point" type="xs:string" use="required"/>
<xs:attribute name="id" type="simpleIdentifier"/>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="library" type="xs:string"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:simpleType name="simpleIdentifier">
<xs:restriction base="xs:string">
<xs:pattern value="[^.]+"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
7 changes: 7 additions & 0 deletions addons/kodi.peripheral/addon.xml
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<addon id="kodi.peripheral" version="1.0.17" provider-name="Team-Kodi">
<backwards-compatibility abi="1.0.16"/>
<requires>
<import addon="xbmc.core" version="0.1.0"/>
</requires>
</addon>
5 changes: 5 additions & 0 deletions addons/library.kodi.peripheral/.gitignore
@@ -0,0 +1,5 @@
# Ignore everything in this directory
*
# Except this file
!.gitignore