## 🐛 Bug Report

The selection (position) doesn't change.


## To Reproduce

Detailed steps to reproduce the behavior:

```
editor.sendKeys("bfmtv.frest");
for (byte j = 0; j < 3; j++) 
	editor.sendKeys(Keys.LEFT);
editor.sendKeys(" ");
```


## Expected behavior

The cursor should move left by 2, but doesn't. The next character typed is positioned as if these left keys hadn't been pressed at all. Result: 
"bfmtv.frest "
instead of 
"bfmtv.fr est"

## Environment

OS: Linux<!-- Windows 10? OSX? -->
Browser: Chrome<!-- Chrome? Safari?  -->
Browser version: 83<!-- e.g.: 70.0.3538.110 -->
Browser Driver version: 83.0.4103.39 (ccbf011cb2d2b19b506d844400483861342c20cd-refs/branch-heads/4103)

<!-- e.g.: ChromeDriver 2.43, GeckoDriver 0.23 -->
Language Bindings version: Java 3.13.0<!-- e.g.: Java 3.141.0 --> 

## Work-around
I used Quill's .updateContents(...) instead to send an event simulating what's happening in real user session.
releaseShift.perform();
    assertThat(logText).describedAs("Key down event should be isolated").endsWith("keydown");
  }
  @Test
  @NotYetImplemented(SAFARI)
  public void testSendingKeyUp() {
    driver.get(appServer.whereIs("key_logger.html"));
    WebElement keysEventInput = driver.findElement(By.id("theworks"));
    Action pressShift = getBuilder(driver).keyDown(keysEventInput, Keys.SHIFT).build();
    pressShift.perform();
    WebElement keyLoggingElement = driver.findElement(By.id("result"));
    String eventsText = keyLoggingElement.getText();
    assertThat(eventsText).describedAs("Key down should be isolated for this test to be meaningful").endsWith("keydown");
    Action releaseShift = getBuilder(driver).keyUp(keysEventInput, Keys.SHIFT).build();
    releaseShift.perform();
    eventsText = keyLoggingElement.getText();
    assertThat(eventsText).describedAs("Key up should be isolated for this test to be meaningful").endsWith("keyup");
  }
  @Test
  @NotYetImplemented(SAFARI)
  @NotYetImplemented(EDGE)
  public void testSendingKeysWithShiftPressed() {
    driver.get(pages.javascriptPage);
    WebElement keysEventInput = driver.findElement(By.id("theworks"));
    keysEventInput.click();
    String existingResult = getFormEvents();
    Action pressShift = getBuilder(driver).keyDown(keysEventInput, Keys.SHIFT).build();
    pressShift.perform();
    Action sendLowercase = getBuilder(driver).sendKeys(keysEventInput, "ab").build();
    sendLowercase.perform();