Snap!Board: A virtual keyboard made in Snap! 💻

Snap!Board is a virtual keyboard made in Snap! It is useful for mobile devices because they often have no physical keyboard.


  1. Drag the "bring up virtual keyboard" block from the Snap!Board category.
  2. Use it in your scripts.
  3. When it runs, you can type something there, using the virtual keyboard (physical keyboard support will be released later).
  4. The answer will be stored into an upvar. When someone cancels, it will return blank.

To use it in your projects, see code, choose "file" menu at the top bar, then choose "Export blocks"


  • Pressing the space bar twice will automatically add a period.
  • Adding general punctuation creates a new sentence.

It may have a few flaws.

  • Text may overflow if you type too much.
  • Adding decimal places may add a space. You can press backspace to remove the space.

These flaws may be fixed in a newer version.

Project link:!Board

wow, amazing !

Nice work. Was there a reason you put the result in an upvar rather than the more straightforward solution of making the block a reporter?

i would guess because reporters generally don't have side effects

Yeah, that's true,and I would totally understand if the block had two or more upvars to set. But when there's one thing begging to be the output, I'd forgive side effects on the stage (as opposed to changing the values of variables).

I do this because using separate reporters made them ambiguous.

I don't understand. Could you explain in more detail? Thanks.

Here we go!

Why do I use a command with a result put in an up-variable instead of using a reporter?

So the reason I do this is done to make code easier. Let's see on how do I feel when using code.

Which one is the best?

  1. Using a command with the result put in an up-variable is used so we don't need extra code and we can use that up-variable and so you can make this code:
    untitled script pic (15)
    That saves time and reduce your code.

  2. If we use a variable, this allows you to make things report based on answer. The only problem is, we need a variable to store its input, so if you do this, you have to store them, which consumes some time on coding:
    untitled script pic (17)

This is why I use a command with the result on an up-variable, not a reporter.

Okay, thanks. (I wasn't trying to attack you, by the way; I really truly want to learn about our users' needs.) Do you ever write reporters?

Hi is it possible to make the virual keyboard open with the numbers showing example ask for phone number and show numpad
Thanks jeff

Woah! This is cool!

Number pad? Good choice. I'm going to make it.
Edit: Now it's been added.

Please never ask for the user's phone number.



why man why

that is great thanks jeff