mauricedb / presentation-buddy

Automatically type code during presentations
https://marketplace.visualstudio.com/items?itemName=mauricedebeijer.presentation-buddy
MIT License
17 stars 11 forks source link

Please add timing options to automatic typing #14

Open gbritton1 opened 1 year ago

gbritton1 commented 1 year ago

I've been wanting this extension for years! Thank yo sooooooooooooooo much!!

A little feature request:

Love to see a small feature to set the typing speed and also introduce some randomness to the typing speed to make it look more like a person at a keyboard is typing live. e.g. even as I write this note, my typing speed (I'm no speed demon!) varies slightly depending on my keyboard reach, mistakes etc.

Proposal:

  1. overall speed (20 wpm, 40 wpm, 60 wpm, 80, wpm ? Just suggestions from Typing Speeds )
  2. randomness -- so if I select 30 wpm it varies between 25 wpm and 35 wpm using random intervals in that range
  3. Typing mistakes? e.g. As I'm typing here. I make some mistakes, backspace over then then fix them. the auto typing would look even more human with the odd mistake thrown in. You could even have a parameter that sets a mistake rate percentage or something like that. (see Typing Mistakes)
mauricedb commented 1 year ago

Hi @gbritton1,

Excellent suggestions.

  1. The typing speed is something you can already do. Both the TypeText and the TypeTextFromFile instructions support a delay where you can specify the time between characters typed. If not set it is taken from the VS Code configuration. And if that is not set it defaults to 100. These are set in ms delay between each character typed.
  2. Making the typing speed a bit more random with a configurable amount sounds like a great addition and will make it feel more natural.
  3. Typing mistakes is another interesting addition. Would you want to introduce there manually and add one or more \b characters to delete mistakes or you you prefer to have these automatically and thus randomly injected?
gbritton1 commented 1 year ago

Cool! I'll try out the delay.

Mistakes? I'd like it to be automatic, random and believable. Eg. I'd never hit q by accident instead of m at least on a qwerty keyboard. But I might misspel misspell. But that would need ai I think. Maybe one day....

Thanks so much for your work on this. Just so good!

On Mon, Dec 26, 2022, 9:33 AM Maurice de Beijer @.***> wrote:

Hi @gbritton1 https://github.com/gbritton1,

Excellent suggestions.

  1. The typing speed is something you can already do. Both the TypeText and the TypeTextFromFile instructions support a delay where you can specify the time between characters typed. If not set it is taken from the VS Code configuration. And if that is not set it defaults to 100. These are set in ms delay between each character typed.
  2. Making the typing speed a bit more random with a configurable amount sounds like a great addition and will make it feel more natural.
  3. Typing mistakes is another interesting addition. Would you want to introduce there manually and add one or more \b characters to delete mistakes or you you prefer to have these automatically and thus randomly injected?

— Reply to this email directly, view it on GitHub https://github.com/mauricedb/presentation-buddy/issues/14#issuecomment-1365224321, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC5R66AEL4LKRB6U7U3KODTWPGUDJANCNFSM6AAAAAATH4DEIE . You are receiving this because you were mentioned.Message ID: @.***>

mauricedb commented 1 year ago

Hi @gbritton1,

automatic, random and believable

That is a hard combination. I guess hitting a key twice by accident is easy to do automatic and believable. As would be flipping two characters and fixing that typo. But hitting the adjacent key is dependent on the keyboard layout making it harder.

BTW I released a new version earlier today with a randomness setting to vary the typing speed. Not available on a per instruction level yet, only as a setting. Please take a look and let me know if that works for you. Currently it's a ms value as well. I was considering making it a percentage.

olivierlacan commented 1 year ago

@mauricedb Excellent addition and great work on the extension in general.

I've found that using a randomness very close or equal to the delay makes for surprisingly natural typing. The screencast below have delay and randomness set to 80.

https://user-images.githubusercontent.com/65950/211114466-eee995ce-b023-4766-9c92-e8f5bc62c6f5.mov

mauricedb commented 1 year ago

Sweet, looks really nice. When I have some time I will add the randomness to the TypeText and TypeTextFromFile instructions so you can vary it per instruction along with the delay.

olivierlacan commented 1 year ago

That’s a great idea, I actually tried that at first and since it didn’t work, I ended up using the global settings instead.

mauricedb commented 1 year ago

Adding a JSON schema to help with that and autocompletion in general is another thing I should do :-)