TextInputKeyMap constructor

TextInputKeyMap({
  1. KeyBinding? characterForward,
  2. KeyBinding? characterBackward,
  3. KeyBinding? wordForward,
  4. KeyBinding? wordBackward,
  5. KeyBinding? deleteWordBackward,
  6. KeyBinding? deleteWordForward,
  7. KeyBinding? deleteAfterCursor,
  8. KeyBinding? deleteBeforeCursor,
  9. KeyBinding? deleteCharacterBackward,
  10. KeyBinding? deleteCharacterForward,
  11. KeyBinding? lineStart,
  12. KeyBinding? lineEnd,
  13. KeyBinding? selectCharacterForward,
  14. KeyBinding? selectCharacterBackward,
  15. KeyBinding? selectWordForward,
  16. KeyBinding? selectWordBackward,
  17. KeyBinding? selectLineStart,
  18. KeyBinding? selectLineEnd,
  19. KeyBinding? selectAll,
  20. KeyBinding? paste,
  21. KeyBinding? copy,
  22. KeyBinding? cut,
  23. KeyBinding? acceptSuggestion,
  24. KeyBinding? nextSuggestion,
  25. KeyBinding? prevSuggestion,
  26. KeyBinding? newline,
  27. KeyBinding? lineUp,
  28. KeyBinding? lineDown,
  29. KeyBinding? selectLineUp,
  30. KeyBinding? selectLineDown,
  31. KeyBinding? documentStart,
  32. KeyBinding? documentEnd,
})

Creates a text input key map with default bindings.

Implementation

TextInputKeyMap({
  KeyBinding? characterForward,
  KeyBinding? characterBackward,
  KeyBinding? wordForward,
  KeyBinding? wordBackward,
  KeyBinding? deleteWordBackward,
  KeyBinding? deleteWordForward,
  KeyBinding? deleteAfterCursor,
  KeyBinding? deleteBeforeCursor,
  KeyBinding? deleteCharacterBackward,
  KeyBinding? deleteCharacterForward,
  KeyBinding? lineStart,
  KeyBinding? lineEnd,
  KeyBinding? selectCharacterForward,
  KeyBinding? selectCharacterBackward,
  KeyBinding? selectWordForward,
  KeyBinding? selectWordBackward,
  KeyBinding? selectLineStart,
  KeyBinding? selectLineEnd,
  KeyBinding? selectAll,
  KeyBinding? paste,
  KeyBinding? copy,
  KeyBinding? cut,
  KeyBinding? acceptSuggestion,
  KeyBinding? nextSuggestion,
  KeyBinding? prevSuggestion,
  KeyBinding? newline,
  KeyBinding? lineUp,
  KeyBinding? lineDown,
  KeyBinding? selectLineUp,
  KeyBinding? selectLineDown,
  KeyBinding? documentStart,
  KeyBinding? documentEnd,
}) : characterForward =
         characterForward ??
         KeyBinding(
           keys: ['right', 'ctrl+f'],
           help: Help(key: '→/^f', desc: 'Move forward'),
         ),
     characterBackward =
         characterBackward ??
         KeyBinding(
           keys: ['left', 'ctrl+b'],
           help: Help(key: '←/^b', desc: 'Move backward'),
         ),
     wordForward =
         wordForward ??
         KeyBinding(
           keys: ['alt+right', 'ctrl+right', 'alt+f'],
           help: Help(key: 'alt+→', desc: 'Move word forward'),
         ),
     wordBackward =
         wordBackward ??
         KeyBinding(
           keys: ['alt+left', 'ctrl+left', 'alt+b'],
           help: Help(key: 'alt+←', desc: 'Move word backward'),
         ),
     deleteWordBackward =
         deleteWordBackward ??
         KeyBinding(
           keys: ['alt+backspace', 'ctrl+w'],
           help: Help(key: 'alt+⌫', desc: 'Delete word backward'),
         ),
     deleteWordForward =
         deleteWordForward ??
         KeyBinding(
           keys: ['alt+delete', 'alt+d'],
           help: Help(key: 'alt+del', desc: 'Delete word forward'),
         ),
     deleteAfterCursor =
         deleteAfterCursor ??
         KeyBinding(
           keys: ['ctrl+k'],
           help: Help(key: '^k', desc: 'Delete after cursor'),
         ),
     deleteBeforeCursor =
         deleteBeforeCursor ??
         KeyBinding(
           keys: ['ctrl+u'],
           help: Help(key: '^u', desc: 'Delete before cursor'),
         ),
     deleteCharacterBackward =
         deleteCharacterBackward ??
         KeyBinding(
           keys: ['backspace', 'ctrl+h'],
           help: Help(key: '⌫', desc: 'Delete character'),
         ),
     deleteCharacterForward =
         deleteCharacterForward ??
         KeyBinding(
           keys: ['delete', 'ctrl+d'],
           help: Help(key: 'del', desc: 'Delete forward'),
         ),
     lineStart =
         lineStart ??
         KeyBinding(
           keys: ['home'],
           help: Help(key: 'home', desc: 'Go to start'),
         ),
     lineEnd =
         lineEnd ??
         KeyBinding(
           keys: ['end', 'ctrl+e'],
           help: Help(key: 'end', desc: 'Go to end'),
         ),

     selectCharacterForward =
         selectCharacterForward ??
         KeyBinding(
           keys: ['shift+right'],
           help: Help(key: 'shift+→', desc: 'Select forward'),
         ),
     selectCharacterBackward =
         selectCharacterBackward ??
         KeyBinding(
           keys: ['shift+left'],
           help: Help(key: 'shift+←', desc: 'Select backward'),
         ),
     selectWordForward =
         selectWordForward ??
         KeyBinding(
           keys: ['ctrl+shift+right', 'alt+shift+right'],
           help: Help(key: 'ctrl+shift+→', desc: 'Select word forward'),
         ),
     selectWordBackward =
         selectWordBackward ??
         KeyBinding(
           keys: ['ctrl+shift+left', 'alt+shift+left'],
           help: Help(key: 'ctrl+shift+←', desc: 'Select word backward'),
         ),
     selectLineStart =
         selectLineStart ??
         KeyBinding(
           keys: ['shift+home'],
           help: Help(key: 'shift+home', desc: 'Select to start'),
         ),
     selectLineEnd =
         selectLineEnd ??
         KeyBinding(
           keys: ['shift+end'],
           help: Help(key: 'shift+end', desc: 'Select to end'),
         ),
     selectAll =
         selectAll ??
         KeyBinding(
           keys: ['ctrl+a'],
           help: Help(key: 'ctrl+a', desc: 'Select all'),
         ),
     paste =
         paste ??
         KeyBinding(
           keys: ['ctrl+v'],
           help: Help(key: '^v', desc: 'Paste'),
         ),
     copy =
         copy ??
         KeyBinding(
           keys: ['ctrl+c', 'ctrl+shift+c'],
           help: Help(key: '^c', desc: 'Copy'),
         ),
     cut =
         cut ??
         KeyBinding(
           keys: ['ctrl+x'],
           help: Help(key: '^x', desc: 'Cut'),
         ),

     acceptSuggestion =
         acceptSuggestion ??
         KeyBinding(
           keys: ['tab'],
           help: Help(key: 'tab', desc: 'Accept suggestion'),
         ),
     nextSuggestion =
         nextSuggestion ??
         KeyBinding(
           keys: ['down', 'ctrl+n'],
           help: Help(key: '↓', desc: 'Next suggestion'),
         ),
     prevSuggestion =
         prevSuggestion ??
         KeyBinding(
           keys: ['up', 'ctrl+p'],
           help: Help(key: '↑', desc: 'Previous suggestion'),
         ),

     // Multi-line bindings
     newline =
         newline ??
         KeyBinding(
           keys: ['enter', 'shift+enter'],
           help: Help(key: '↵', desc: 'New line'),
         ),
     lineUp =
         lineUp ??
         KeyBinding(
           keys: ['up'],
           help: Help(key: '↑', desc: 'Line up'),
         ),
     lineDown =
         lineDown ??
         KeyBinding(
           keys: ['down'],
           help: Help(key: '↓', desc: 'Line down'),
         ),
     selectLineUp =
         selectLineUp ??
         KeyBinding(
           keys: ['shift+up'],
           help: Help(key: 'shift+↑', desc: 'Select line up'),
         ),
     selectLineDown =
         selectLineDown ??
         KeyBinding(
           keys: ['shift+down'],
           help: Help(key: 'shift+↓', desc: 'Select line down'),
         ),
     documentStart =
         documentStart ??
         KeyBinding(
           keys: ['ctrl+home'],
           help: Help(key: 'ctrl+home', desc: 'Go to document start'),
         ),
     documentEnd =
         documentEnd ??
         KeyBinding(
           keys: ['ctrl+end'],
           help: Help(key: 'ctrl+end', desc: 'Go to document end'),
         );