rockbox/manual/plugins/chess_clock.tex
Sebastian Leonhardt a507bb2837 YH8xx,YH9xx: Keymap improvement
The main "innovation" in this patch are two "virtual buttons"
for the record switch on YH92x targets. When the switch state
changes, a single BUTTON_REC_SW_ON or .._OFF button event will
be generated. Thus keymap code can react on switching, but
not on the actual state of the switch.

Wherever sensible, the following user scheme is applied:
- use PLAY as confirm button
- use REW button or Long REW to exit
- use REC (YH820) or FFWD (YH92X) as modifier key for button combos

Change-Id: Ic8d1db9cc6869daed8dda98990dfdf7f6fd5d5a1
2015-11-15 23:46:39 +01:00

145 lines
6.9 KiB
TeX

% $Id$ %
\subsection{Chess Clock}
\screenshot{plugins/images/ss-chess_clock}{Chess Clock}{img:chessclock}
The chess clock plugin is designed to simulate a chess clock, but it can be
used in any kind of game with up to ten players.
\subsubsection{Setup}
\begin{btnmap}
\opt{PLAYER_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD,IRIVER_H10_PAD%
,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,SANSA_FUZE_PAD,SANSA_FUZEPLUS_PAD}
{\ButtonRight{} / \ButtonLeft}
\opt{RECORDER_PAD,ONDIO_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD,PBELL_VIBE500_PAD%
,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}
{\ButtonUp{} / \ButtonDown}
\opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonScrollBack{} / \ButtonScrollFwd}
\opt{MPIO_HD200_PAD}{\ButtonVolUp / \ButtonVolDown}
\opt{MPIO_HD300_PAD}{\ButtonScrollUp / \ButtonScrollDown}
\opt{HAVEREMOTEKEYMAP}{& }
& Increase / decrease displayed Value\\
%
\opt{PLAYER_PAD,RECORDER_PAD,IRIVER_H10_PAD}{\ButtonPlay}
\opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn}
\opt{ONDIO_PAD}{\ButtonRight}
\opt{IPOD_4G_PAD,IPOD_3G_PAD,IAUDIO_X5_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD%
,GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD,SANSA_FUZE_PAD,SANSA_FUZEPLUS_PAD}{\ButtonSelect}
\opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRight{} or \ButtonPlay}
\opt{PBELL_VIBE500_PAD}{\ButtonOK}
\opt{MPIO_HD200_PAD}{\ButtonFunc}
\opt{MPIO_HD300_PAD}{\ButtonEnter}
\opt{HAVEREMOTEKEYMAP}{& }
& Move to next screen\\
%
\opt{PLAYER_PAD}{\ButtonStop}
\opt{ONDIO_PAD,IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu}
\opt{RECORDER_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff}
\opt{IAUDIO_X5_PAD,MPIO_HD200_PAD,MPIO_HD300_PAD}{\ButtonRec}
\opt{IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD,MROBE100_PAD}{\ButtonPower}
\opt{SANSA_FUZE_PAD}{Long \ButtonHome}
\opt{GIGABEAT_S_PAD,SANSA_FUZEPLUS_PAD}{\ButtonBack}
\opt{PBELL_VIBE500_PAD}{\ButtonCancel}
\opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonLeft{} or \ButtonRew}
\opt{HAVEREMOTEKEYMAP}{& }
& Move to previous screen\\
\end{btnmap}
\begin{itemize}
\item First enter the number of players (1--10)
\item Then set the total game time in mm:ss
\item Then the maximum round time is entered. For example, this could
be used to play Scrabble for a maximum of 15 minutes each, with each
round taking no longer than one minute.
\item Done. Player 1 starts in paused mode.
\end{itemize}
\subsubsection{While playing}
The number of the current player is displayed on the top line. The time
below is the time remaining for that round (and possibly also the total
time left if different).
Keys are as follows:
\begin{btnmap}
\opt{PLAYER_PAD}{\ButtonOn}
\opt{RECORDER_PAD,ONDIO_PAD}{\ButtonOff}
\opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonSelect}
\opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonPlay}
\opt{IAUDIO_X5_PAD,PBELL_VIBE500_PAD}{\ButtonRec}
\opt{IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD,MROBE100_PAD}{\ButtonPower}
\opt{SANSA_FUZE_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower}
\opt{GIGABEAT_S_PAD}{\ButtonBack}
\opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
\opt{MPIO_HD200_PAD}{\ButtonRec + \ButtonPlay}
\opt{MPIO_HD300_PAD}{Long \ButtonMenu}
\opt{HAVEREMOTEKEYMAP}{& }
& Exit plugin \\
%
\opt{PLAYER_PAD}{\ButtonStop}
\opt{RECORDER_PAD,ONDIO_PAD,IPOD_4G_PAD,IPOD_3G_PAD,PBELL_VIBE500_PAD}{\ButtonLeft}
\opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff}
\opt{IAUDIO_X5_PAD}{\ButtonPower}
\opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF}
\opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,SANSA_FUZE_PAD}{\ButtonDown}
\opt{GIGABEAT_PAD}{\ButtonA}
\opt{GIGABEAT_S_PAD}{\ButtonPrev}
\opt{MROBE100_PAD}{\ButtonDisplay}
\opt{SANSA_FUZEPLUS_PAD}{\ButtonBack}
\opt{HAVEREMOTEKEYMAP}{& }
& Restart round for the current player \\
%
\opt{PLAYER_PAD,RECORDER_PAD,IAUDIO_X5_PAD,IRIVER_H10_PAD,GIGABEAT_S_PAD}{\ButtonPlay}
\opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn}
\opt{ONDIO_PAD}{\ButtonRight}
\opt{IPOD_4G_PAD,IPOD_3G_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD%
,MROBE100_PAD,SANSA_FUZE_PAD}
{\ButtonSelect}
\opt{PBELL_VIBE500_PAD,MPIO_HD200_PAD,MPIO_HD300_PAD,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD%
,SAMSUNG_YH820_PAD}{\ButtonPlay}
\opt{HAVEREMOTEKEYMAP}{& }
& Pause the time (press again to continue) \\
%
\opt{PLAYER_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD,IRIVER_H10_PAD%
,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,SANSA_FUZE_PAD}{\ButtonRight}
\opt{RECORDER_PAD,ONDIO_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD,PBELL_VIBE500_PAD%
,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}
{\ButtonUp}
\opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonScrollBack}
\opt{HAVEREMOTEKEYMAP}{& }
& Switch to next player \\
%
\opt{PLAYER_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD,IRIVER_H10_PAD%
,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,SANSA_FUZE_PAD}{\ButtonLeft}
\opt{RECORDER_PAD,ONDIO_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD,PBELL_VIBE500_PAD%
,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}
{\ButtonDown}
\opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonScrollFwd}
\opt{MPIO_HD200_PAD}{\ButtonVolDown}
\opt{MPIO_HD300_PAD}{\ButtonScrollDown}
\opt{HAVEREMOTEKEYMAP}{& }
& Switch to previous player \\
%
\opt{PLAYER_PAD,ONDIO_PAD,IPOD_4G_PAD,IPOD_3G_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD%
,MROBE100_PAD,PBELL_VIBE500_PAD,MPIO_HD300_PAD}{\ButtonMenu}
\opt{RECORDER_PAD}{\ButtonFOne}
\opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonRec}
\opt{IAUDIO_X5_PAD}{\ButtonSelect}
\opt{SANSA_FUZEPLUS_PAD}{Long \ButtonSelect}
\opt{IRIVER_H10_PAD}{\ButtonRew}
\opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,SANSA_FUZE_PAD}{\ButtonUp}
\opt{MPIO_HD200_PAD}{Long \ButtonFunc}
\opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonLeft}
\opt{HAVEREMOTEKEYMAP}{& }
& Open menu %
\opt{PLAYER_PAD,RECORDER_PAD,IRIVER_H10_PAD}{(\ButtonPlay\ to select.)}%
\opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{(\ButtonOn\ to select.)}%
\opt{ONDIO_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{(\ButtonRight\ to select.)}%
\opt{IPOD_4G_PAD,IPOD_3G_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD%
,GIGABEAT_S_PAD,MROBE100_PAD,SANSA_FUZE_PAD,SANSA_FUZEPLUS_PAD}
{(\ButtonSelect\ to select.)}%
\opt{IAUDIO_X5_PAD}{(press again to select.)}\\
\end{btnmap}
From the menu it is possible to delete a player, modify the round time
for the current player or set the total time for the game. When the round time
is up for a player the message ``ROUND UP!'' is shown (press NEXT to
continue). When the total time is up for a player the message ``TIME UP!''is
shown. The player will then be removed from the timer.