Skip to content

Commit

Permalink
fix: DELETE key (i think)
Browse files Browse the repository at this point in the history
  • Loading branch information
nyakowint committed Sep 21, 2023
1 parent f753f3e commit 7676890
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 1 deletion.
2 changes: 1 addition & 1 deletion KeyboardOSC/ChatModeManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ private static void ProcessKey(VirtualKeyCode key, KeyboardKey.VirtualKeyEventDa
return;
}

_currentText = _currentText.Remove(key is VirtualKeyCode.DELETE ? 0 : _currentText.Length - 1);
_currentText = _currentText.Remove(key is VirtualKeyCode.DELETE ? 0 : _currentText.Length - 1, 1);
UpdateChatText(_currentText);
Logger.LogInfo("deleting chat text: " + _currentText);
return;
Expand Down
49 changes: 49 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# XSOverlay Keyboard OSC
This plugin (yes, a mod for a vr overlay lol) aims to make typing to people in VRChat easier. Inspired by the OSC button found inside OVR Toolkit.

hi thank you that is missing an i (only a few will get this i think xD)

## Installation

> [!NOTE]
> Make sure you have switched to the `beta` branch of XSOverlay. You can do this under Properties > Betas \
> This *might* work on the live branch but I don't use it and thus haven't tested it ~ YMMV.
1. [Follow the BepInEx install guide](https://docs.bepinex.dev/articles/user_guide/installation/index.html) into XSOverlay.
2. Drop the plugin from [Releases](../../releases/latest) into `<xso folder>/BepInEx/plugins` folder.
3. Start XSOverlay
4. Use the message icon on the keyboard toolbar (right). A bar should pop up above the keyboard. If not, move the keyboard around and it should pop up.

## Features/Usage
Send messages to the chatbox just like in OVR Toolkit!

Use the following shortcut keys:
| Shortcut Key | Function
| ---------------- | --------
| <kbd>TAB</kbd> | Toggle silent msg (orange text)
| <kbd>ESC</kbd> | Clear current text
| <kbd>Backspace</kbd> or <kbd>Delete</kbd> | Delete last character from right (bksp) or left (del)
| <kbd>END</kbd> | Clear last sent message (equivalent to pressing "Clear Chatbox" in radial menu)
| <kbd>INSERT</kbd> | Replace current text with your last message
| <kbd>CTRL</kbd> + <kbd>C</kbd> | Copy current text to clipboard
| <kbd>CTRL</kbd> + <kbd>V</kbd> | Paste text from your clipboard
| <kbd>CTRL</kbd> + <kbd>Backspace</kbd> | Delete last word (this one is weird as holding ctrl doesnt actually mean holding ctrl) |
| <kbd>ENTER</kbd> | Send message to the chatbox!

## Unplanned features
- Any type of "now playing" feature. It's out of scope for the plugin lol
- Text-to-Speech, STT & STTS. If someone wants to implement this PRs are welcome but it's not in my interest.

## Known Issues
- Positioning is still a little weird, especially if you scale the keyboard

Steam might not instantly detect XSOverlay as closed. Not a big deal but this is out of my control just so you know

If you find any other issues create an issue so i can remember to try and fix it when i have time

## Build from source
Check the .csproj or actions workflow

but if you wanna build this just drop the dlls from `XSOverlay_Data/Managed` into `refs`, restore and build w/ Release config. dll will be in `builds` folder

(or moved to your plugins folder if you used debug and have XSO on your C drive loool)

0 comments on commit 7676890

Please sign in to comment.