Cabal Common Library Doc Keyboard

From Elite Wiki
Revision as of 22:47, 29 May 2012 by Svengali (talk | contribs) (Overview)

Overview

This is the main class for the keyboard with its members and part of the Cabal_Common_Library.

The keyboard is fairly simple to use and requires only a worldScripts call with a few parameters. Optionally, the calling script can provide a callback which is executed when the user has finished entering characters. Everything else performed within the script.

Callback:

worldScripts[this.keyboard.toCall].Cabal_Common_Keyboard_Output(this.keyboard.input);

The keyboard itself ships 4 different modes

  • Alphanumeric
  • Alphabetic
  • Numeric
  • Hexadecimal

A keyboard can only be called when the player is docked! Please also note, that missionchoices are a bit tricky and require a workaround! This doesn’t usually affect the calling script, but if it happens (and it will happen if you are calling another mission screen with choices in the callback function) you’ll have to use the same workaround as the keyboard.

Functions

start()

this.start = function( who, min, mode, scpic, scovl, scmod )

Starts the keyboard handling, creates the keyboard object and calls keyboardShow(). If ‘who’ is specified the script will callback after completing or aborting. See keyboardChoice() for the callback.

Parameters:

who
String. The name of a worldScript which implements the keyboard callback.
min
Number. Optional - minimum length for completion, default(4).
mode
Number. Optional - 1(only alphabetical), 2(only numeric), 3(hexadecimal), default 4(alphanumeric).
scpic
String. Optional. Name for screenbackground build upon scpic + suffix. The mode defines which one will be used.
scovl
String. Optional. Filename for screenoverlay (with fileextension). Default null.
scmod
String. Optional. Role for the used model. Default ‘cabal_common_key’.

Returns:

nothing
worldScripts.Cabal_Common_Keyboard.start(this.name,5,1);

Suffixes are :

  • 1 - ‘_keyboard_alpha.png’
  • 2 - ‘_keyboard_nums.png’
  • 3 - ‘_keyboard_hex.png’
  • 4 - ‘_keyboard.png’


keyboardEval()

this.keyboardEval = function( choice )

Workaround to change the context of this!!! It simply passes the choice to keyboardChoice().

Parameters:

choice
String. Passed parameter from Oolite.

Returns:

nothing

Calls:

worldScripts.Cabal_Common_Keyboard.keyboardChoice(choice);


keyboardChoice()

this.keyboardChoice = function( choice )

Evaluates the user choice. When keyboard.toCall is specified and user confirms or aborts the keyboard input.

Callback:

  • ”” - String. if user aborts.
  • keyboard.input - String. If user confirmed input.
worldScripts[this.keyboard.toCall].Cabal_Common_Keyboard_Output(this.keyboard.input);

Parameters:

choice
String. Passed parameter from Oolite, passed through keyboardEval().

Returns:

nothing