annotate src/pcjoy.h @ 0:c84446dfb3f5

initial add
author paulo@localhost
date Fri, 13 Mar 2009 00:39:12 -0700
parents
children
rev   line source
paulo@0 1 /* PC joystick code
paulo@0 2
paulo@0 3 Copyright (C) 2006 Damian Yerrick <tepples+lj@spamcop.net>
paulo@0 4
paulo@0 5 This work is free software; you can redistribute it and/or modify
paulo@0 6 it under the terms of the GNU General Public License as published by
paulo@0 7 the Free Software Foundation; either version 2 of the License, or
paulo@0 8 (at your option) any later version.
paulo@0 9
paulo@0 10 This program is distributed in the hope that it will be useful,
paulo@0 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
paulo@0 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
paulo@0 13 GNU General Public License for more details.
paulo@0 14
paulo@0 15 You should have received a copy of the GNU General Public License
paulo@0 16 along with this program; if not, write to the Free Software
paulo@0 17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
paulo@0 18
paulo@0 19 Original game concept and design by Alexey Pajitnov.
paulo@0 20 The Software is not sponsored or endorsed by Alexey Pajitnov, Elorg,
paulo@0 21 or The Tetris Company LLC.
paulo@0 22
paulo@0 23 */
paulo@0 24
paulo@0 25 #ifndef PCJOY_H
paulo@0 26 #define PCJOY_H
paulo@0 27
paulo@0 28 #include "ljtypes.h"
paulo@0 29 #include "ljcontrol.h"
paulo@0 30
paulo@0 31
paulo@0 32 /* Physical key definitions
paulo@0 33
paulo@0 34 m.joy < 0:
paulo@0 35 key[m.axis]
paulo@0 36 m.joy >= 0, m.stick < 0:
paulo@0 37 joy[m.joy].button[m.axis].b
paulo@0 38 m.joy >= 0, m.stick >= 0, m.axis < 0:
paulo@0 39 joy[m.joy].stick[m.stick].axis[~m.axis].d1
paulo@0 40 m.joy >= 0, m.stick >= 0, m.axis >= 0:
paulo@0 41 joy[m.joy].stick[m.stick].axis[m.axis].d2
paulo@0 42 */
paulo@0 43
paulo@0 44 struct pkeyMapping {
paulo@0 45 signed char joy;
paulo@0 46 signed char stick;
paulo@0 47 signed char axis;
paulo@0 48 };
paulo@0 49
paulo@0 50 extern volatile int wantsClose;
paulo@0 51
paulo@0 52 void initKeys(void);
paulo@0 53
paulo@0 54 /**
paulo@0 55 * Reads the physical keys to produce a set of pressed virtual keys.
paulo@0 56 */
paulo@0 57 LJBits readPad(unsigned int player);
paulo@0 58
paulo@0 59 /**
paulo@0 60 * Reads the physical keys to produce a set of pressed virtual keys,
paulo@0 61 * hardcoding keyboard Up, Down, Left, Right, Esc, and Enter
paulo@0 62 * to the appropriate vkeys.
paulo@0 63 */
paulo@0 64 LJBits menuReadPad(void);
paulo@0 65
paulo@0 66 void getPkeyName(char *dst, int j, int s, int a);
paulo@0 67 extern const char *const vkeyNames[];
paulo@0 68 void configureKeys(void);
paulo@0 69
paulo@0 70 #endif