diff --git a/app/src/main/java/com/termux/app/ExtraKeysView.java b/app/src/main/java/com/termux/app/ExtraKeysView.java index fec7576016..8d552e650a 100644 --- a/app/src/main/java/com/termux/app/ExtraKeysView.java +++ b/app/src/main/java/com/termux/app/ExtraKeysView.java @@ -68,6 +68,7 @@ static void sendKey(View view, String keyName) { } private ToggleButton controlButton; + private ToggleButton shiftButton; private ToggleButton altButton; private ToggleButton fnButton; @@ -80,6 +81,16 @@ public boolean readControlButton() { } return result; } + + public boolean readShiftButton() { + if (shiftButton.isPressed()) return true; + boolean result = shiftButton.isChecked(); + if (result) { + shiftButton.setChecked(false); + shiftButton.setTextColor(TEXT_COLOR); + } + return result; + } public boolean readAltButton() { if (altButton.isPressed()) return true; @@ -106,7 +117,7 @@ void reload() { removeAllViews(); String[][] buttons = { - {"ESC", "CTRL", "ALT", "TAB", "―", "/", "|"} + {"ESC", "CTRL", "SHIFT", "ALT", "TAB", "―", "/", "|"} }; final int rows = buttons.length; @@ -125,6 +136,10 @@ void reload() { button = controlButton = new ToggleButton(getContext(), null, android.R.attr.buttonBarButtonStyle); button.setClickable(true); break; + case "SHIFT": + button = shiftButton = new ToggleButton(getContext(), null, android.R.attr.buttonBarButtonStyle); + button.setClickable(true); + break; case "ALT": button = altButton = new ToggleButton(getContext(), null, android.R.attr.buttonBarButtonStyle); button.setClickable(true); @@ -149,6 +164,7 @@ public void onClick(View v) { View root = getRootView(); switch (buttonText) { case "CTRL": + case "SHIFT": case "ALT": case "FN": ToggleButton self = (ToggleButton) finalButton;