 } else if (code === 46) { // delete
          if (mesh.urlState.cursor < mesh.urlState.text.length) {
            mesh.urlState.text = mesh.urlState.text.slice(0, mesh.urlState.cursor) + mesh.urlState.text.slice(mesh.urlState.cursor + 1);
            _updateText();
          }
        } else if (code === 32) { // space
          mesh.urlState.text = mesh.urlState.text.slice(0, mesh.urlState.cursor) + ' ' + mesh.urlState.text.slice(mesh.urlState.cursor);
          mesh.urlState.cursor++;
          _updateTe