[mythtv-users] control MythTV with my gamepad?

Garth Benedict shrkbait at gmail.com
Sun Jan 8 19:06:28 UTC 2006


I also have the P3000.  Fun joystick except one of my batteries died.  I use
qstick/kbstick as described http://www.ditch.org/kbstick/ It turns the
joystick moves into keyboard strokes, kind of like lirc.  You configure what
you want all the buttons to do.  Mine are linked to up/down/home/end, etc.
The downside is that unless you come up with a kill/restart mechanism, you
need to convert xmame (or whatever you are using), to use those keybindings
and NOT the joystick directly.  You actually need to force joystick=0 or
whatever or else xmame will croak.  The below script lives in my
/usr/local/bin/ and I link to it in Autostart to start on boot.  I have
heard of native joystick support in myth but do not knows its status.

Here is my qstick:
[root at jules bin]# cat /home/mythtv/.kde/Autostart/qstick
#!/bin/sh
# This shell script part of the QStick package, which uses the KBStick
# program to translate joystick messages into keyboard messages which
# are sent to an X server, to the end of adding joystick support to
# keyboard-and-mouse or keyboard only games.
#
# KBStick is released under the GNU Public License, please see the
# source code, Makefile and README file for more information.

# Assign X KeyCodes to shell variables. This is small number of the
# X keyboard KeyCodes (corresponding to the keypad keys).
#
#KP_Up=80
#KP_Down=88
#KP_Left=83
#KP_Right=85
KP_Up=98
KP_Down=104
KP_Left=100
KP_Right=102
KP_Home=79
KP_End=87
KP_Begin=84
KP_Prior=81
KP_Next=89
KP_Divide=112
KP_Multiply=63
KP_Subtract=82
KP_Add=86
KP_Insert=90
KP_Delete=91
KP_Enter=108
Enter=36

# GWB Additions
KP_Escape=9
KP_0=19
KP_1=10
KP_2=11
KP_3=12
KP_4=13
KP_5=14
KP_6=15
KP_7=16
KP_8=17
KP_9=18

KP_I=31
KP_P=33
KP_S=39
KP_M=58

KP_PGUP=99
KP_PGDN=105

# Assign KeyCodes to the joystick axes.
# Axes 0 and 1 should be the x (horizontal) and y (vertical) axes of the
# stick itself. Axes beyond these will correspond to rudder, throttle, etc.
# controls.
# KBStick supports up to 6 axes, though altering the source code
# to support more would be a trivial exercise.
#
# *If you un-comment any of these be sure to un-comment the exports below.*
#
KBS_Axis_0_Plus=$KP_Right
KBS_Axis_1_Plus=$KP_Down
#KBS_Axis_2_Plus=
#KBS_Axis_3_Plus=
#KBS_Axis_4_Plus=
#KBS_Axis_5_Plus=
KBS_Axis_0_Minus=$KP_Left
KBS_Axis_1_Minus=$KP_Up
#KBS_Axis_2_Minus=
#KBS_Axis_3_Minus=
#KBS_Axis_4_Minus=
#KBS_Axis_5_Minus=

# Assign KeyCodes to the joystick buttons.
# Location and order of buttons/button number will vary from joystick to
# joystick. Choosing the KeyCodes of unused keyboard keys to assign to
# joystick buttons makes moot the matter of which button sends which KeyCode
# since one can run QStick and _then_ run and configure the games you wish
# to play, rather than configuring the games first then trying to match
# button messages to your game configuration.
# KBStick supports up to 12 joystick buttons, but once again altering the
# source code to allow more would be a minor task.
#
#KBS_Button_0=$KP_Home
#KBS_Button_1=$KP_End
#KBS_Button_2=$KP_Begin
#KBS_Button_3=$KP_Prior
#KBS_Button_4=$KP_Next
#KBS_Button_5=$KP_Divide
#KBS_Button_6=$KP_Multiply
#KBS_Button_7=$KP_Subtract
#KBS_Button_8=$KP_Escape
#KBS_Button_9=$KP_Insert
#KBS_Button_10=$KP_Delete
#KBS_Button_11=$KP_Enter

KBS_Button_0=$KP_I
KBS_Button_1=$KP_PGUP
KBS_Button_2=$KP_M
KBS_Button_3=$KP_PGDN
KBS_Button_4=$KP_Home
KBS_Button_5=$KP_End
KBS_Button_6=$KP_Escape
KBS_Button_7=$Enter
KBS_Button_8=$KP_Escape
KBS_Button_9=$KP_Enter
KBS_Button_10=$KP_P
KBS_Button_11=$KP_Escape

# Assign a quit button.
# Setting the environment variable KBS_Quit_Button makes the assigned button
# (actually any button that sends the assigned KeyCode) cause the KBStick
program
# to exit after 3 consecutive quit button presses. Any other button press
resets
# the quit count to 0, but it would probably be good to choose a seldom
# used button to be the quit button lest in the fever of a Deathmatch you
# turn off your joystick support. B)
# Though KBStick issues a warning if you don't you need not assign a quit
# key at all.
#
#GWBKBS_Quit_Button=$KBS_Button_7


# Assign a Dead Zone around the center all your joystick axes.
# This is really better done with a calibrator like jscal from the
# Linux Joystick Driver distribution.
#
#export KBS_Dead_Zone=500

# Export the shell variables to the environment...
#
export KBS_Axis_0_Plus KBS_Axis_1_Plus
#export KBS_Axis_2_Plus KBS_Axis_3_Plus
#export KBS_Axis_4_Plus KBS_Axis_5_Plus
export KBS_Axis_0_Minus KBS_Axis_1_Minus
#export KBS_Axis_2_Minus KBS_Axis_3_Minus
#export KBS_Axis_4_Minus KBS_Axis_5_Minus

export KBS_Button_0 KBS_Button_1 KBS_Button_2 KBS_Button_3
export KBS_Button_4 KBS_Button_5 KBS_Button_6 KBS_Button_7
export KBS_Button_8 KBS_Button_9 KBS_Button_10 KBS_Button_11
#export KBS_Quit_Button

# ...And run KBStick in the background.
# This command line assumes KBStick is in your path and that /dev/js0 is the
# joystick that you are using.
#
kbstick /dev/input/js0 &

# The End


On 1/8/06, CykoDuck <cykoduck at gmail.com> wrote:
>
> I would like to use my Saitek P3000 to control the main menus of MythTV.
>
> Is this possible?
>
> Thanks
> -Nick
>
> _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mythtv.org/pipermail/mythtv-users/attachments/20060108/4da08464/attachment.htm


More information about the mythtv-users mailing list