charToDirectInputKey property

Map<String, DirectInputKey> charToDirectInputKey
getter/setter pair

A mapping of characters to DirectInputKey for direct input key conversion.

This map is used to map individual characters (e.g., 'A', 'a', '1', etc.) to their corresponding DirectInputKey enum value.

Implementation

static Map<String, DirectInputKey> charToDirectInputKey = {
  // Numeric
  '0': DirectInputKey.digit0,
  '1': DirectInputKey.digit1,
  '2': DirectInputKey.digit2,
  '3': DirectInputKey.digit3,
  '4': DirectInputKey.digit4,
  '5': DirectInputKey.digit5,
  '6': DirectInputKey.digit6,
  '7': DirectInputKey.digit7,
  '8': DirectInputKey.digit8,
  '9': DirectInputKey.digit9,

  // Uppercase Letters
  'A': DirectInputKey.letterA,
  'B': DirectInputKey.letterB,
  'C': DirectInputKey.letterC,
  'D': DirectInputKey.letterD,
  'E': DirectInputKey.letterE,
  'F': DirectInputKey.letterF,
  'G': DirectInputKey.letterG,
  'H': DirectInputKey.letterH,
  'I': DirectInputKey.letterI,
  'J': DirectInputKey.letterJ,
  'K': DirectInputKey.letterK,
  'L': DirectInputKey.letterL,
  'M': DirectInputKey.letterM,
  'N': DirectInputKey.letterN,
  'O': DirectInputKey.letterO,
  'P': DirectInputKey.letterP,
  'Q': DirectInputKey.letterQ,
  'R': DirectInputKey.letterR,
  'S': DirectInputKey.letterS,
  'T': DirectInputKey.letterT,
  'U': DirectInputKey.letterU,
  'V': DirectInputKey.letterV,
  'W': DirectInputKey.letterW,
  'X': DirectInputKey.letterX,
  'Y': DirectInputKey.letterY,
  'Z': DirectInputKey.letterZ,

  // Lowercase Letters
  'a': DirectInputKey.lettera,
  'b': DirectInputKey.letterb,
  'c': DirectInputKey.letterc,
  'd': DirectInputKey.letterd,
  'e': DirectInputKey.lettere,
  'f': DirectInputKey.letterf,
  'g': DirectInputKey.letterg,
  'h': DirectInputKey.letterh,
  'i': DirectInputKey.letteri,
  'j': DirectInputKey.letterj,
  'k': DirectInputKey.letterk,
  'l': DirectInputKey.letterl,
  'm': DirectInputKey.letterm,
  'n': DirectInputKey.lettern,
  'o': DirectInputKey.lettero,
  'p': DirectInputKey.letterp,
  'q': DirectInputKey.letterq,
  'r': DirectInputKey.letterr,
  's': DirectInputKey.letters,
  't': DirectInputKey.lettert,
  'u': DirectInputKey.letteru,
  'v': DirectInputKey.letterv,
  'w': DirectInputKey.letterw,
  'x': DirectInputKey.letterx,
  'y': DirectInputKey.lettery,
  'z': DirectInputKey.letterz,

  // Special Characters
  ' ': DirectInputKey.space,
  '!': DirectInputKey.exclamation,
  '"': DirectInputKey.doubleQuote,
  '#': DirectInputKey.hash,
  '\$': DirectInputKey.dollar,
  '%': DirectInputKey.percent,
  '&': DirectInputKey.ampersand,
  '\'': DirectInputKey.singleQuote,
  '(': DirectInputKey.openParen,
  ')': DirectInputKey.closeParen,
  '*': DirectInputKey.asterisk,
  '+': DirectInputKey.plus,
  ',': DirectInputKey.comma,
  '-': DirectInputKey.minus,
  '.': DirectInputKey.period,
  '/': DirectInputKey.slash,
  ':': DirectInputKey.colon,
  ';': DirectInputKey.semicolon,
  '<': DirectInputKey.lessThan,
  '=': DirectInputKey.equal,
  '>': DirectInputKey.greaterThan,
  '?': DirectInputKey.questionMark,
  '@': DirectInputKey.atSymbol,
  '[': DirectInputKey.openBracket,
  '\\': DirectInputKey.backslash,
  ']': DirectInputKey.closeBracket,
  '^': DirectInputKey.caret,
  '_': DirectInputKey.underscore,
  '`': DirectInputKey.backtick,
  '{': DirectInputKey.openBrace,
  '|': DirectInputKey.pipe,
  '}': DirectInputKey.closeBrace,
  '~': DirectInputKey.tilde,

  // Keyboard Keys - using HT (Horizontal Tab) for special case
  '\t':
      DirectInputKey.ht, // HT for compatibility with Excel and other systems
  '↹': DirectInputKey.tab, // The graphical representation of tab for clarity

  // Control Characters for escape
  '\n': DirectInputKey.lf,
  '\r': DirectInputKey.cr,
  '\b': DirectInputKey.bs,
};