Revert "Fix backspace deleting chars when IME is open"

This reverts commit 7f4dce2ee0.

Originally it was assumed that macOS always sends the \x7f on backspace
anyways, however this is not true. It seems like the character on
backspace can change even within the same terminal session, so we need
to have our own binding to reliably set the correct binding.

A solution for #1606 should be implemented in cooperation with winit.
This commit is contained in:
Christian Duerr 2020-02-10 23:41:48 +00:00 committed by GitHub
parent 5cd13f8c47
commit 3b8ef3a0c4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 2 additions and 13 deletions

View File

@ -43,7 +43,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Resize of bitmap fonts - Resize of bitmap fonts
- Crash when using bitmap font with `embeddedbitmap` set to `false` - Crash when using bitmap font with `embeddedbitmap` set to `false`
- Inconsistent fontconfig fallback - Inconsistent fontconfig fallback
- Backspace deleting characters while IME is open on macOS
- Handling of OpenType variable fonts - Handling of OpenType variable fonts
- Expansion of block-selection on partially selected full-width glyphs - Expansion of block-selection on partially selected full-width glyphs
- Minimize action only works with decorations on macOS - Minimize action only works with decorations on macOS

View File

@ -287,6 +287,7 @@ pub fn default_key_bindings() -> Vec<KeyBinding> {
PageDown; Action::Esc("\x1b[6~".into()); PageDown; Action::Esc("\x1b[6~".into());
PageDown, ModifiersState::SHIFT, +TermMode::ALT_SCREEN; Action::Esc("\x1b[6;2~".into()); PageDown, ModifiersState::SHIFT, +TermMode::ALT_SCREEN; Action::Esc("\x1b[6;2~".into());
Tab, ModifiersState::SHIFT; Action::Esc("\x1b[Z".into()); Tab, ModifiersState::SHIFT; Action::Esc("\x1b[Z".into());
Back; Action::Esc("\x7f".into());
Back, ModifiersState::ALT; Action::Esc("\x1b\x7f".into()); Back, ModifiersState::ALT; Action::Esc("\x1b\x7f".into());
Insert; Action::Esc("\x1b[2~".into()); Insert; Action::Esc("\x1b[2~".into());
Delete; Action::Esc("\x1b[3~".into()); Delete; Action::Esc("\x1b[3~".into());
@ -405,7 +406,6 @@ fn common_keybindings() -> Vec<KeyBinding> {
Add, ModifiersState::CTRL; Action::IncreaseFontSize; Add, ModifiersState::CTRL; Action::IncreaseFontSize;
Subtract, ModifiersState::CTRL; Action::DecreaseFontSize; Subtract, ModifiersState::CTRL; Action::DecreaseFontSize;
Minus, ModifiersState::CTRL; Action::DecreaseFontSize; Minus, ModifiersState::CTRL; Action::DecreaseFontSize;
Back; Action::Esc("\x7f".into());
) )
} }

View File

@ -7,9 +7,6 @@ use std::path::PathBuf;
#[cfg(windows)] #[cfg(windows)]
use dirs; use dirs;
use log::{error, warn}; use log::{error, warn};
use serde_yaml;
#[cfg(not(windows))]
use xdg;
use alacritty_terminal::config::{Config as TermConfig, LOG_TARGET_CONFIG}; use alacritty_terminal::config::{Config as TermConfig, LOG_TARGET_CONFIG};

View File

@ -27,7 +27,6 @@ use std::sync::{Arc, Mutex};
use glutin::event_loop::EventLoopProxy; use glutin::event_loop::EventLoopProxy;
use log::{self, Level}; use log::{self, Level};
use time;
use alacritty_terminal::event::Event; use alacritty_terminal::event::Event;
use alacritty_terminal::message_bar::Message; use alacritty_terminal::message_bar::Message;

View File

@ -19,8 +19,6 @@ use std::str;
use log::{debug, trace}; use log::{debug, trace};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use vte;
use crate::index::{Column, Line}; use crate::index::{Column, Line};
use crate::term::color::Rgb; use crate::term::color::Rgb;

View File

@ -2181,8 +2181,6 @@ impl IndexMut<Column> for TabStops {
mod tests { mod tests {
use std::mem; use std::mem;
use serde_json;
use crate::ansi::{self, CharsetIndex, Handler, StandardCharset}; use crate::ansi::{self, CharsetIndex, Handler, StandardCharset};
use crate::clipboard::Clipboard; use crate::clipboard::Clipboard;
use crate::config::MockConfig; use crate::config::MockConfig;

View File

@ -13,7 +13,6 @@
// limitations under the License. // limitations under the License.
// //
//! tty related functionality //! tty related functionality
use mio;
use std::{env, io}; use std::{env, io};
use terminfo::Database; use terminfo::Database;

View File

@ -18,7 +18,6 @@ use crate::config::{Config, Shell};
use crate::event::OnResize; use crate::event::OnResize;
use crate::term::SizeInfo; use crate::term::SizeInfo;
use crate::tty::{ChildEvent, EventedPty, EventedReadWrite}; use crate::tty::{ChildEvent, EventedPty, EventedReadWrite};
use mio;
use libc::{self, c_int, pid_t, winsize, TIOCSCTTY}; use libc::{self, c_int, pid_t, winsize, TIOCSCTTY};
use log::error; use log::error;

View File

@ -62,7 +62,7 @@ fn aquire_winpty_agent(out_path: &Path) {
let mut archive = zip::ZipArchive::new(file).unwrap(); let mut archive = zip::ZipArchive::new(file).unwrap();
let target = match env::var("TARGET").unwrap().split("-").next().unwrap() { let target = match env::var("TARGET").unwrap().split('-').next().unwrap() {
"x86_64" => "x64", "x86_64" => "x64",
"i386" => "ia32", "i386" => "ia32",
_ => panic!("architecture has no winpty binary"), _ => panic!("architecture has no winpty binary"),