platform_system_core/adb
Spencer Low 50184062b8 adb shell: Win32: fix Ctrl-C, tab completion, line editing, server echo
The 'adb shell' command on Windows has had problems:

* Ctrl-C killed the local Windows adb.exe process instead of sending the
Ctrl-C to the Android device.

* Local echo was enabled, causing everything typed to be displayed twice.

* Line input was enabled, so the Android device only received input
after hitting enter. This meant that tab completion did not work because
the tab wasn't seen by the shell until pressing enter.

* The usual input line editing keys did not work (Ctrl-A to go to the
beginning of the line, etc.).

This commit fixes these issues by reconfiguring the Win32 console and
then translating input into what Gnome Terminal would send, in effect
somewhat emulating a Unix terminal.

This does not fix all Win32 console issues, but is designed to be better
than what we had before, and to make the common day-to-day usage much
more comfortable and usable.

Change-Id: Idb10e0b634e27002804fa99c09a64e7176cf7c09
Signed-off-by: Spencer Low <CompareAndSwap@gmail.com>
2015-03-26 12:26:08 -07:00
..
tests Make the root/unroot test more robust. 2015-03-09 10:45:50 -07:00
.clang-format Fix clang-format file for correct indent settings. 2015-03-19 13:27:20 -07:00
adb.cpp Additional cleanup of start_device_log. 2015-03-20 09:49:15 -07:00
adb.h Revert "Revert "adb: support /oem partition"" 2015-03-16 20:05:21 -07:00
adb_auth.cpp File header cleanup. 2015-03-19 15:32:33 -07:00
adb_auth.h File header cleanup. 2015-03-19 15:32:33 -07:00
adb_auth_client.cpp File header cleanup. 2015-03-19 15:32:33 -07:00
adb_auth_host.cpp File header cleanup. 2015-03-19 15:32:33 -07:00
adb_client.cpp File header cleanup. 2015-03-19 15:32:33 -07:00
adb_client.h Move adb to C++. 2015-03-09 14:06:11 -07:00
adb_io.cpp Merge "The generic failure case disappeared..." 2015-03-20 03:50:36 +00:00
adb_io.h Test readx/writex (now renamed). 2015-02-25 15:07:57 -08:00
adb_io_test.cpp The generic failure case disappeared... 2015-03-19 20:10:30 -07:00
adb_listeners.cpp Move adb to C++. 2015-03-09 14:06:11 -07:00
adb_listeners.h Move the listener code into its own file. 2015-02-18 18:22:52 -08:00
adb_main.cpp Additional cleanup of start_device_log. 2015-03-20 09:49:15 -07:00
adb_trace.h Test readx/writex (now renamed). 2015-02-25 15:07:57 -08:00
Android.mk Revert "Revert "adb: support /oem partition"" 2015-03-16 20:05:21 -07:00
commandline.cpp adb shell: Win32: fix Ctrl-C, tab completion, line editing, server echo 2015-03-26 12:26:08 -07:00
console.cpp Move adb to C++. 2015-03-09 14:06:11 -07:00
CPPLINT.cfg Ignore another stupid lint warning. 2015-02-20 17:19:22 -08:00
fdevent.cpp File header cleanup. 2015-03-19 15:32:33 -07:00
fdevent.h Begin moving code from adb to libadb. 2015-01-26 16:45:34 -08:00
file_sync_client.cpp adb doesn't actually use libzipfile. 2015-03-13 09:40:45 -07:00
file_sync_service.cpp File header cleanup. 2015-03-19 15:32:33 -07:00
file_sync_service.h Add extern "C" to all the adb headers. 2015-02-18 00:21:16 -08:00
framebuffer_service.cpp Move adb to C++. 2015-03-09 14:06:11 -07:00
get_my_path_darwin.c Move adb to C++. 2015-03-09 14:06:11 -07:00
get_my_path_linux.cpp Move adb to C++. 2015-03-09 14:06:11 -07:00
get_my_path_windows.cpp Move adb to C++. 2015-03-09 14:06:11 -07:00
jdwp_service.cpp File header cleanup. 2015-03-19 15:32:33 -07:00
MODULE_LICENSE_APACHE2 eclair snapshot 2009-11-12 18:46:23 -08:00
mutex_list.h adb: Cleanup dead code 2013-04-24 21:31:45 -07:00
NOTICE eclair snapshot 2009-11-12 18:46:23 -08:00
OVERVIEW.TXT Fixing spelling errors in adb docs 2010-04-28 11:38:39 -04:00
protocol.txt adb: Add public key authentification 2012-08-23 00:20:06 -07:00
qemu_tracing.cpp Move adb to C++. 2015-03-09 14:06:11 -07:00
qemu_tracing.h Move emulator tracing into its own file. 2015-02-18 17:21:17 -08:00
remount_service.cpp File header cleanup. 2015-03-19 15:32:33 -07:00
remount_service.h Revert "Revert "adb: support /oem partition"" 2015-03-16 20:05:21 -07:00
services.cpp File header cleanup. 2015-03-19 15:32:33 -07:00
SERVICES.TXT adb: implement "adb reverse <local> <remote>" 2014-05-27 16:42:13 +02:00
set_verity_enable_state_service.cpp File header cleanup. 2015-03-19 15:32:33 -07:00
sockets.cpp File header cleanup. 2015-03-19 15:32:33 -07:00
sockets.dia auto import from //depot/cupcake/@135843 2009-03-03 19:32:55 -08:00
SYNC.TXT Adding documentation on the sync part of the adb protocol previously missing. 2014-03-20 20:36:46 +01:00
sysdeps.h adb shell: Win32: fix Ctrl-C, tab completion, line editing, server echo 2015-03-26 12:26:08 -07:00
sysdeps_win32.c adb shell: Win32: fix Ctrl-C, tab completion, line editing, server echo 2015-03-26 12:26:08 -07:00
test_track_devices.cpp Move adb to C++. 2015-03-09 14:06:11 -07:00
test_track_jdwp.cpp Move adb to C++. 2015-03-09 14:06:11 -07:00
transport.cpp File header cleanup. 2015-03-19 15:32:33 -07:00
transport.h Move adb to C++. 2015-03-09 14:06:11 -07:00
transport_local.cpp File header cleanup. 2015-03-19 15:32:33 -07:00
transport_test.cpp Add some basic tests to adb. 2015-02-25 10:57:26 -08:00
transport_usb.cpp File header cleanup. 2015-03-19 15:32:33 -07:00
usb_linux.cpp File header cleanup. 2015-03-19 15:32:33 -07:00
usb_linux_client.c File header cleanup. 2015-03-19 15:32:33 -07:00
usb_osx.c File header cleanup. 2015-03-19 15:32:33 -07:00
usb_windows.cpp File header cleanup. 2015-03-19 15:32:33 -07:00