linux/drivers/accessibility/speakup/i18n.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef I18N_H
   3#define I18N_H
   4/* Internationalization declarations */
   5
   6enum msg_index_t {
   7        MSG_FIRST_INDEX,
   8        MSG_ANNOUNCEMENTS_START = MSG_FIRST_INDEX,
   9        MSG_BLANK = MSG_ANNOUNCEMENTS_START,
  10        MSG_IAM_ALIVE,
  11        MSG_YOU_KILLED_SPEAKUP,
  12        MSG_HEY_THATS_BETTER,
  13        MSG_YOU_TURNED_ME_OFF,
  14        MSG_PARKED,
  15        MSG_UNPARKED,
  16        MSG_MARK,
  17        MSG_CUT,
  18        MSG_MARK_CLEARED,
  19        MSG_PASTE,
  20        MSG_BRIGHT,
  21        MSG_ON_BLINKING,
  22        MSG_STATUS_START,
  23        MSG_OFF = MSG_STATUS_START,
  24        MSG_ON,
  25        MSG_NO_WINDOW,
  26
  27        /* These must be ordered the same as enum cursor_track */
  28        MSG_CURSOR_MSGS_START,
  29        MSG_CURSORING_OFF = MSG_CURSOR_MSGS_START,
  30        MSG_CURSORING_ON,
  31        MSG_HIGHLIGHT_TRACKING,
  32        MSG_READ_WINDOW,
  33        MSG_READ_ALL,
  34
  35        MSG_EDIT_DONE,
  36        MSG_WINDOW_ALREADY_SET,
  37        MSG_END_BEFORE_START,
  38        MSG_WINDOW_CLEARED,
  39        MSG_WINDOW_SILENCED,
  40        MSG_WINDOW_SILENCE_DISABLED,
  41        MSG_ERROR,
  42        MSG_GOTO_CANCELED,
  43        MSG_GOTO,
  44        MSG_LEAVING_HELP,
  45        MSG_IS_UNASSIGNED,
  46        MSG_HELP_INFO,
  47
  48        /* These must be ordered the same as enum edge */
  49        MSG_EDGE_MSGS_START,
  50        MSG_EDGE_TOP  = MSG_EDGE_MSGS_START,
  51        MSG_EDGE_BOTTOM,
  52        MSG_EDGE_LEFT,
  53        MSG_EDGE_RIGHT,
  54
  55        MSG_NUMBER,
  56        MSG_SPACE,
  57        MSG_START, /* A little confusing, given our convention. */
  58        MSG_END, /* A little confusing, given our convention. */
  59        MSG_CTRL,
  60
  61/* A message containing the single word "or". */
  62        MSG_DISJUNCTION,
  63        MSG_ANNOUNCEMENTS_END = MSG_DISJUNCTION,
  64
  65/* Messages with format specifiers. */
  66        MSG_FORMATTED_START,
  67        MSG_POS_INFO = MSG_FORMATTED_START,
  68        MSG_CHAR_INFO,
  69        MSG_REPEAT_DESC,
  70        MSG_REPEAT_DESC2,
  71        MSG_WINDOW_LINE,
  72        MSG_WINDOW_BOUNDARY,
  73        MSG_EDIT_PROMPT,
  74        MSG_NO_COMMAND,
  75        MSG_KEYDESC,
  76        MSG_FORMATTED_END = MSG_KEYDESC,
  77
  78        /* Control keys. */
  79        MSG_CTL_START,
  80        MSG_CTL_SHIFT = MSG_CTL_START,
  81        MSG_CTL_ALTGR,
  82        MSG_CTL_CONTROL,
  83        MSG_CTL_ALT,
  84        MSG_CTL_LSHIFT,
  85        MSG_CTL_SPEAKUP,
  86        MSG_CTL_LCONTROL,
  87        MSG_CTL_RCONTROL,
  88        MSG_CTL_CAPSSHIFT,
  89        MSG_CTL_END = MSG_CTL_CAPSSHIFT,
  90
  91        /* Colors. */
  92        MSG_COLORS_START,
  93        MSG_COLOR_BLACK = MSG_COLORS_START,
  94        MSG_COLOR_BLUE,
  95        MSG_COLOR_GREEN,
  96        MSG_COLOR_CYAN,
  97        MSG_COLOR_RED,
  98        MSG_COLOR_MAGENTA,
  99        MSG_COLOR_YELLOW,
 100        MSG_COLOR_WHITE,
 101        MSG_COLOR_GREY,
 102        MSG_COLOR_BRIGHTBLUE,
 103        MSG_COLOR_BRIGHTGREEN,
 104        MSG_COLOR_BRIGHTCYAN,
 105        MSG_COLOR_BRIGHTRED,
 106        MSG_COLOR_BRIGHTMAGENTA,
 107        MSG_COLOR_BRIGHTYELLOW,
 108        MSG_COLOR_BRIGHTWHITE,
 109        MSG_COLORS_END = MSG_COLOR_BRIGHTWHITE,
 110
 111        MSG_STATES_START,
 112        MSG_STATE_DOUBLE = MSG_STATES_START,
 113        MSG_STATE_SPEAKUP,
 114        MSG_STATE_ALT,
 115        MSG_STATE_CONTROL,
 116        MSG_STATE_ALTGR,
 117        MSG_STATE_SHIFT,
 118        MSG_STATES_END = MSG_STATE_SHIFT,
 119
 120        MSG_KEYNAMES_START,
 121        MSG_KEYNAME_ESC = MSG_KEYNAMES_START,
 122        MSG_KEYNAME_1, MSG_KEYNAME_2, MSG_KEYNAME_3, MSG_KEYNAME_4,
 123        MSG_KEYNAME_5, MSG_KEYNAME_6, MSG_KEYNAME_7, MSG_KEYNAME_8,
 124        MSG_KEYNAME_9,
 125        MSG_KEYNAME_0, MSG_KEYNAME_DASH, MSG_KEYNAME_EQUAL, MSG_KEYNAME_BS,
 126        MSG_KEYNAME_TAB,
 127        MSG_KEYNAME_Q, MSG_KEYNAME_W, MSG_KEYNAME_E, MSG_KEYNAME_R,
 128        MSG_KEYNAME_T, MSG_KEYNAME_Y, MSG_KEYNAME_U, MSG_KEYNAME_I,
 129        MSG_KEYNAME_O, MSG_KEYNAME_P,
 130        MSG_KEYNAME_LEFTBRACE, MSG_KEYNAME_RIGHTBRACE, MSG_KEYNAME_ENTER,
 131        MSG_KEYNAME_LEFTCTRL, MSG_KEYNAME_A,
 132        MSG_KEYNAME_S, MSG_KEYNAME_D, MSG_KEYNAME_F, MSG_KEYNAME_G,
 133        MSG_KEYNAME_H, MSG_KEYNAME_J, MSG_KEYNAME_K, MSG_KEYNAME_L,
 134        MSG_KEYNAME_SEMICOLON,
 135        MSG_KEYNAME_SINGLEQUOTE, MSG_KEYNAME_GRAVE,
 136        MSG_KEYNAME_LEFTSHFT, MSG_KEYNAME_BACKSLASH, MSG_KEYNAME_Z,
 137        MSG_KEYNAME_X, MSG_KEYNAME_C, MSG_KEYNAME_V, MSG_KEYNAME_B,
 138        MSG_KEYNAME_N, MSG_KEYNAME_M, MSG_KEYNAME_COMMA, MSG_KEYNAME_DOT,
 139        MSG_KEYNAME_SLASH, MSG_KEYNAME_RIGHTSHFT,
 140        MSG_KEYNAME_KPSTAR,
 141        MSG_KEYNAME_LEFTALT, MSG_KEYNAME_SPACE, MSG_KEYNAME_CAPSLOCK,
 142        MSG_KEYNAME_F1, MSG_KEYNAME_F2,
 143        MSG_KEYNAME_F3, MSG_KEYNAME_F4, MSG_KEYNAME_F5, MSG_KEYNAME_F6,
 144        MSG_KEYNAME_F7,
 145        MSG_KEYNAME_F8, MSG_KEYNAME_F9, MSG_KEYNAME_F10, MSG_KEYNAME_NUMLOCK,
 146        MSG_KEYNAME_SCROLLLOCK,
 147        MSG_KEYNAME_KP7, MSG_KEYNAME_KP8, MSG_KEYNAME_KP9, MSG_KEYNAME_KPMINUS,
 148        MSG_KEYNAME_KP4,
 149        MSG_KEYNAME_KP5, MSG_KEYNAME_KP6, MSG_KEYNAME_KPPLUS, MSG_KEYNAME_KP1,
 150        MSG_KEYNAME_KP2,
 151        MSG_KEYNAME_KP3, MSG_KEYNAME_KP0, MSG_KEYNAME_KPDOT, MSG_KEYNAME_103RD,
 152        MSG_KEYNAME_F13,
 153        MSG_KEYNAME_102ND, MSG_KEYNAME_F11, MSG_KEYNAME_F12, MSG_KEYNAME_F14,
 154        MSG_KEYNAME_F15,
 155        MSG_KEYNAME_F16, MSG_KEYNAME_F17, MSG_KEYNAME_F18, MSG_KEYNAME_F19,
 156        MSG_KEYNAME_F20,
 157        MSG_KEYNAME_KPENTER, MSG_KEYNAME_RIGHTCTRL, MSG_KEYNAME_KPSLASH,
 158        MSG_KEYNAME_SYSRQ, MSG_KEYNAME_RIGHTALT,
 159        MSG_KEYNAME_LF, MSG_KEYNAME_HOME, MSG_KEYNAME_UP, MSG_KEYNAME_PGUP,
 160        MSG_KEYNAME_LEFT,
 161        MSG_KEYNAME_RIGHT, MSG_KEYNAME_END, MSG_KEYNAME_DOWN, MSG_KEYNAME_PGDN,
 162        MSG_KEYNAME_INS,
 163        MSG_KEYNAME_DEL, MSG_KEYNAME_MACRO, MSG_KEYNAME_MUTE,
 164        MSG_KEYNAME_VOLDOWN, MSG_KEYNAME_VOLUP,
 165        MSG_KEYNAME_POWER, MSG_KEYNAME_KPEQUAL, MSG_KEYNAME_KPPLUSDASH,
 166        MSG_KEYNAME_PAUSE, MSG_KEYNAME_F21, MSG_KEYNAME_F22, MSG_KEYNAME_F23,
 167        MSG_KEYNAME_F24, MSG_KEYNAME_KPCOMMA, MSG_KEYNAME_LEFTMETA,
 168        MSG_KEYNAME_RIGHTMETA, MSG_KEYNAME_COMPOSE, MSG_KEYNAME_STOP,
 169        MSG_KEYNAME_AGAIN, MSG_KEYNAME_PROPS,
 170        MSG_KEYNAME_UNDO, MSG_KEYNAME_FRONT, MSG_KEYNAME_COPY, MSG_KEYNAME_OPEN,
 171        MSG_KEYNAME_PASTE,
 172        MSG_KEYNAME_FIND, MSG_KEYNAME_CUT, MSG_KEYNAME_HELP, MSG_KEYNAME_MENU,
 173        MSG_KEYNAME_CALC,
 174        MSG_KEYNAME_SETUP, MSG_KEYNAME_SLEEP, MSG_KEYNAME_WAKEUP,
 175        MSG_KEYNAME_FILE, MSG_KEYNAME_SENDFILE,
 176        MSG_KEYNAME_DELFILE, MSG_KEYNAME_XFER, MSG_KEYNAME_PROG1,
 177        MSG_KEYNAME_PROG2, MSG_KEYNAME_WWW,
 178        MSG_KEYNAME_MSDOS, MSG_KEYNAME_COFFEE, MSG_KEYNAME_DIRECTION,
 179        MSG_KEYNAME_CYCLEWINDOWS, MSG_KEYNAME_MAIL,
 180        MSG_KEYNAME_BOOKMARKS, MSG_KEYNAME_COMPUTER, MSG_KEYNAME_BACK,
 181        MSG_KEYNAME_FORWARD, MSG_KEYNAME_CLOSECD,
 182        MSG_KEYNAME_EJECTCD, MSG_KEYNAME_EJECTCLOSE, MSG_KEYNAME_NEXTSONG,
 183        MSG_KEYNAME_PLAYPAUSE, MSG_KEYNAME_PREVSONG,
 184        MSG_KEYNAME_STOPCD, MSG_KEYNAME_RECORD, MSG_KEYNAME_REWIND,
 185        MSG_KEYNAME_PHONE, MSG_KEYNAME_ISO,
 186        MSG_KEYNAME_CONFIG, MSG_KEYNAME_HOMEPG, MSG_KEYNAME_REFRESH,
 187        MSG_KEYNAME_EXIT, MSG_KEYNAME_MOVE,
 188        MSG_KEYNAME_EDIT, MSG_KEYNAME_SCROLLUP, MSG_KEYNAME_SCROLLDN,
 189        MSG_KEYNAME_KPLEFTPAR, MSG_KEYNAME_KPRIGHTPAR,
 190        MSG_KEYNAMES_END = MSG_KEYNAME_KPRIGHTPAR,
 191
 192        MSG_FUNCNAMES_START,
 193        MSG_FUNCNAME_ATTRIB_BLEEP_DEC = MSG_FUNCNAMES_START,
 194        MSG_FUNCNAME_ATTRIB_BLEEP_INC,
 195        MSG_FUNCNAME_BLEEPS_DEC, MSG_FUNCNAME_BLEEPS_INC,
 196        MSG_FUNCNAME_CHAR_FIRST, MSG_FUNCNAME_CHAR_LAST,
 197        MSG_FUNCNAME_CHAR_CURRENT, MSG_FUNCNAME_CHAR_HEX_AND_DEC,
 198        MSG_FUNCNAME_CHAR_NEXT,
 199        MSG_FUNCNAME_CHAR_PHONETIC, MSG_FUNCNAME_CHAR_PREVIOUS,
 200        MSG_FUNCNAME_CURSOR_PARK, MSG_FUNCNAME_CUT,
 201        MSG_FUNCNAME_EDIT_DELIM, MSG_FUNCNAME_EDIT_EXNUM,
 202        MSG_FUNCNAME_EDIT_MOST, MSG_FUNCNAME_EDIT_REPEATS,
 203        MSG_FUNCNAME_EDIT_SOME,
 204        MSG_FUNCNAME_GOTO, MSG_FUNCNAME_GOTO_BOTTOM, MSG_FUNCNAME_GOTO_LEFT,
 205        MSG_FUNCNAME_GOTO_RIGHT, MSG_FUNCNAME_GOTO_TOP, MSG_FUNCNAME_HELP,
 206        MSG_FUNCNAME_LINE_SAY_CURRENT, MSG_FUNCNAME_LINE_SAY_NEXT,
 207        MSG_FUNCNAME_LINE_SAY_PREVIOUS, MSG_FUNCNAME_LINE_SAY_WITH_INDENT,
 208        MSG_FUNCNAME_PASTE, MSG_FUNCNAME_PITCH_DEC, MSG_FUNCNAME_PITCH_INC,
 209        MSG_FUNCNAME_PUNC_DEC, MSG_FUNCNAME_PUNC_INC,
 210        MSG_FUNCNAME_PUNC_LEVEL_DEC, MSG_FUNCNAME_PUNC_LEVEL_INC,
 211        MSG_FUNCNAME_QUIET,
 212        MSG_FUNCNAME_RATE_DEC, MSG_FUNCNAME_RATE_INC,
 213        MSG_FUNCNAME_READING_PUNC_DEC, MSG_FUNCNAME_READING_PUNC_INC,
 214        MSG_FUNCNAME_SAY_ATTRIBUTES,
 215        MSG_FUNCNAME_SAY_FROM_LEFT, MSG_FUNCNAME_SAY_FROM_TOP,
 216        MSG_FUNCNAME_SAY_POSITION, MSG_FUNCNAME_SAY_SCREEN,
 217        MSG_FUNCNAME_SAY_TO_BOTTOM, MSG_FUNCNAME_SAY_TO_RIGHT,
 218        MSG_FUNCNAME_SPEAKUP, MSG_FUNCNAME_SPEAKUP_LOCK,
 219        MSG_FUNCNAME_SPEAKUP_OFF, MSG_FUNCNAME_SPEECH_KILL,
 220        MSG_FUNCNAME_SPELL_DELAY_DEC, MSG_FUNCNAME_SPELL_DELAY_INC,
 221        MSG_FUNCNAME_SPELL_WORD, MSG_FUNCNAME_SPELL_WORD_PHONETICALLY,
 222        MSG_FUNCNAME_TONE_DEC, MSG_FUNCNAME_TONE_INC,
 223        MSG_FUNCNAME_VOICE_DEC, MSG_FUNCNAME_VOICE_INC,
 224        MSG_FUNCNAME_VOLUME_DEC, MSG_FUNCNAME_VOLUME_INC,
 225        MSG_FUNCNAME_WINDOW_CLEAR, MSG_FUNCNAME_WINDOW_SAY,
 226        MSG_FUNCNAME_WINDOW_SET, MSG_FUNCNAME_WINDOW_SILENCE,
 227        MSG_FUNCNAME_WORD_SAY_CURRENT, MSG_FUNCNAME_WORD_SAY_NEXT,
 228        MSG_FUNCNAME_WORD_SAY_PREVIOUS,
 229        MSG_FUNCNAMES_END = MSG_FUNCNAME_WORD_SAY_PREVIOUS,
 230
 231        /* all valid indices must be above this */
 232        MSG_LAST_INDEX
 233};
 234
 235struct msg_group_t {
 236        char *name;
 237        enum msg_index_t start;
 238        enum msg_index_t end;
 239};
 240
 241char *spk_msg_get(enum msg_index_t index);
 242ssize_t spk_msg_set(enum msg_index_t index, char *text, size_t length);
 243struct msg_group_t *spk_find_msg_group(const char *group_name);
 244void spk_reset_msg_group(struct msg_group_t *group);
 245void spk_initialize_msgs(void);
 246void spk_free_user_msgs(void);
 247
 248#endif
 249