1 /* 2 * Copyright 2021 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package androidx.compose.foundation.text 18 19 internal enum class KeyCommand( 20 // Indicates, that this command is supposed to edit text so should be applied only to 21 // editable text fields 22 val editsText: Boolean 23 ) { 24 LEFT_CHAR(false), 25 RIGHT_CHAR(false), 26 RIGHT_WORD(false), 27 LEFT_WORD(false), 28 NEXT_PARAGRAPH(false), 29 PREV_PARAGRAPH(false), 30 LINE_START(false), 31 LINE_END(false), 32 LINE_LEFT(false), 33 LINE_RIGHT(false), 34 UP(false), 35 DOWN(false), 36 PAGE_UP(false), 37 PAGE_DOWN(false), 38 HOME(false), 39 END(false), 40 COPY(false), 41 PASTE(true), 42 CUT(true), 43 DELETE_PREV_CHAR(true), 44 DELETE_NEXT_CHAR(true), 45 DELETE_PREV_WORD(true), 46 DELETE_NEXT_WORD(true), 47 DELETE_FROM_LINE_START(true), 48 DELETE_TO_LINE_END(true), 49 SELECT_ALL(false), 50 SELECT_LEFT_CHAR(false), 51 SELECT_RIGHT_CHAR(false), 52 SELECT_UP(false), 53 SELECT_DOWN(false), 54 SELECT_PAGE_UP(false), 55 SELECT_PAGE_DOWN(false), 56 SELECT_HOME(false), 57 SELECT_END(false), 58 SELECT_LEFT_WORD(false), 59 SELECT_RIGHT_WORD(false), 60 SELECT_NEXT_PARAGRAPH(false), 61 SELECT_PREV_PARAGRAPH(false), 62 SELECT_LINE_START(false), 63 SELECT_LINE_END(false), 64 SELECT_LINE_LEFT(false), 65 SELECT_LINE_RIGHT(false), 66 DESELECT(false), 67 NEW_LINE(true), 68 TAB(true), 69 UNDO(true), 70 REDO(true), 71 CHARACTER_PALETTE(true) 72 } 73