How to Make a Working Keyboard (Difficulty: ⬛)

Introduction

This guide will (hopefully) be a useful tool to anyone seeking to make a fully functional chat system for their Gimkit games. However, this guide may not be for everyone, as it uses many blocks, and therefore takes up an unholy amount of storage space that you may need for other parts of your map. It is also somewhat complicated, and a creative novice may require more practice and experimentation with blocks before tackling this guide. But I’m getting ahead of myself. Let’s talk about the keyboard and its capabilities.

What it can do:

  • Type and send messages in upper and lowercase letters
  • Send both numbers and special characters
  • Switch between letters and special characters
  • Display typing information in an aesthetically pleasing user interface
  • Use a character limit of your choice
  • Open the typing menu with an onscreen button
  • Be customized to suit the needs of your map
  • Use chat filters to keep game play clean
  • Be used by multiple players at once
  • Be run in a separate window alongside your Gimkit game

What it can’t do

  • Use backspace without clearing all data
  • Be compatible with some game modes/guides

But overall, it’s not too shabby! So, without further ado; let’s get creating!

Part One: The Keys

  1. (Before constructing, make sure you are relatively far from any other creations in your map.) Place down a text device and type out: q w e r t y u i o p. Make sure there are three spaces in between each letter. This will probably need to be adjusted later, but it works for now. Turn the size up to 130.

  1. Make two copies of the text. For the first one type: a s d f g h j k l, once again with three spaces. Then for the second copy do three spaces again, this time with these letters: z x c v b n m. Position the text as on a keyboard.

  1. Move the devices up to the primary layer for now, and set the color to white in settings.

  1. Add three small text boxes on the right of your keyboard, and rearrange the settings to match your preexisting ones. Alternatively, you can make copies of the other text and delete the typing you already did.

  1. In the top box copy and paste this symbol: ⌫. In the second box type: enter. In the third goes: shift. Now is a good time to adjust the position of your text.

  1. Add a final text box on the left with the same settings, but 120 font size, and edit it to say:
    ?123.

  1. Start by placing down two barriers. (Yep, here we are again.) Make sure collision is off, then configure the appearance settings for the first one like so:

Do the second one the same, but with gray instead of black. Mine was 51, 51, 51 color ratio for reference. You should now have two barriers that look like this:

  1. Make sure that grid snap is on and set it to four. Then align the barriers up vertically with the gray on the bottom. The edges should be about one square misaligned. If the gray shows over the black, then go to layers and move black over gray. Make sure you also decrease the size of the barriers, as they will be too big to serve as keys otherwise.

  1. You can now turn your grid snap back up. I personally like it at sixteen. Then click and drag your mouse so that it encompasses the two barriers but nothing else. Then hover over them, (they should now be highlighted in blue) and press c. A floating copy of the pattern should now be following your mouse. Bring it so it is over the q, then click to place.

  1. This step is everybody’s favorite; repeating! But don’t worry, this is far from the last time we’ll do this, so let’s at least try the first time. Do step nine over again for all letter keys. This is the step where you might need to adjust the three spaces we did earlier. If you want to move a letter without moving the whole line, delete a space in front of it and add a space after it or vice-versa. That’s about all the insight I can give you besides m to move, so go ahead and get making it.

  1. Like in step nine, make a copy of the key design but this time place it under the original. Separate the two barriers, and stretch them out two or three sixteen sized grid squares bigger. Then copy both the barriers, and move them onto the clear key.

  1. Click on the enter, shift, and ?123 key, and surround them in brackets. Take the barriers you made copies of for the clear key, and make them about 1.75x longer. Put copies of those under the ?123 button.

  1. Do this two more times, making buttons for enter and shift. Make sure the shift key is extra long to fit the word unshift. We will come back to this later.

  1. Add a button device and adjust the settings to match:

image
image
image
image

  1. Copy this button until you have one for every key. Change the “Button Message” and “When button pressed transmit on” for every one to match the text on the corresponding key. Make two buttons for the enter and ?123 keys. For these keys don’t put anything in the “Activate/Deactivate when receiving on” spaces. Do not do this for the shift key. (Repetition counter: 2)

  1. Add six buttons in a horizontal line. Configure three of their settings (the settings of the second, forth, and sixth button) to match this:

Screenshot 2023-07-12 15.34.09
Screenshot 2023-07-12 15.34.25
Screenshot 2023-07-12 15.34.36
Screenshot 2023-07-12 15.34.43

  1. Now make the other three (the first, third and fifth buttons) match this:

image
image
image
image

  1. Move all the buttons under their corresponding keys, making sure that the buttons for the large keys are far enough out that you can click a button from anywhere in the key. You can tell by where the green outline when you move it, where you can click from.

  1. Make a copy of the shift text by hovering over it and pressing c. Change it to say “unshift”, then adjust these settings on it:

On the original shift text, adjust the same settings, this way:

Now, move the unshift text back onto the shift.

  1. Now make a copy of the key template, and add the word space. Add two or three buttons that match the others, except with space. It is useful to do this last, so you can see where the other keys are to center it.

Screenshot 2023-07-14 12.37.15
Screenshot 2023-07-14 12.37.04
Screenshot 2023-07-14 12.36.46
Screenshot 2023-07-14 12.36.34

And that is all for Part 1!

Part 2: Triggers and Blocks

  1. Add a trigger, and open it’s settings. In the top left corner select the word trigger, then type the letter “q”. This is a nice way to keep organized, so that you can tell what trigger has what letter during debugging. Now change these settings:

image
image
image
image
image
image

  1. Go into devices and add two properties. Make the first one like this:

And the second like this:

image

  1. Blocks time! Go to the top left corner of the trigger settings and select blocks

image

Then go to the right side bar and select create a new block: when triggered.

image

In the space provided, put these blocks:

This code will detect whether shift is active, and input the letter you typed into the system.

  1. Make a copy of this trigger for every letter, changing the code, settings, and name for each. For example, g should look like this:

(Repetition counter: 3) You should now have something resembling this monstrosity:

  1. Add two triggers with the same settings, and name one shift. The other should be named unshift. Make shift trigger when receiving on shift, and unshift trigger when receiving on unshift.

  1. Open shift’s blocks, and create a new block. Build this:

Do the same for unshift, but instead of the logic block true, change it to false:

  1. Add another trigger with the same setting arrangement, and name it enter. Likewise, have it trigger when receiving on enter:

Add a new block and put this into it:

Make sure the colon in the text box is followed by a space.

  1. Use a different trigger with identical settings for the ⌫ button. Once again name it ⌫ and have it trigger on ⌫. Then select these blocks in a new block:

Do not type anything in the text box.

  1. You know the drill by now, trigger, name it space, trigger when receiving on space, open blocks, and put this:

(Repetition counter: 4) Type space into the text box, and that is Part 2 over!

Part 3: Number Keys

  1. Move the ?123 key. Start with the text, then the barriers, until all that’s left is the buttons.

  1. Add two another button, and change it’s presets into this.

image
image
image
image

  1. Open the channel menus of the original buttons, and type in this:

image

  1. Overlap the original buttons and the new, then put the key text and design back on.

  1. Choose each section of text in turn and open availability. “For Show text when receiving on” put letters, and “Hide text when receiving on” put ?123. Do not do this for space, enter, shift or ⌫. DO this for the ?123 key.

image

  1. Make a copy of the first line of text, and change the letters to 1 2 3 4 5 6 7 8 9 0 with the same spacing as before. Then change the text channels to activate on ?123 and deactivate on letters. Also change “Content Scope” to player, and “Visible On Game Start” to no.

image
image
image

  1. Reposition the numbers to fit on the keys. You may need to temporarily move the letters to see the numbers.

  1. Make copies of the number text for every row of buttons, and put whatever symbols you want. I did: ! @ # $ % _ * ( ) + = - ’ " : ;. For comma, period, question mark and slash we can add permanent buttons.

  1. Make one copy and put both under the ?123 key.

  1. Make four copies of the letter key templates from earlier, positioning two on either side of the space key. On the left, put a comma and a period, and on the right, slash and then question mark.

  1. Buttons again! Place one with these edits:

Screenshot 2023-07-26 16.48.05
image

  1. Make a copy for every number and symbol key. Change the button message and channel to transmit on when pressed accordingly. This should be sounding familiar by now :stuck_out_tongue_winking_eye:. (Repetition counter: 5) Also make four more adjusted copies. Make them for , . / and ?, and make them active on game start with nothing in channels.

  1. Move all the buttons under the keys, then make a copy of the space trigger. Go into blocks, and change it to match.

  1. Change it to trigger on 1, then make copies and do the same for all the other numbers and symbols. (Repetition counter: 6)

  1. Now copy the text on the ?123, and put it in the exact same spot. Change the settings like so:

image
Screenshot 2023-07-30 20.55.46

That’s all for Part 3.

Part 4: The Text Box

  1. Add a text box above the keyboard and go to all options. Adjust as needed to match.

  1. Go to blocks and add two “When receiving on” 's. Make the first when receiving on enter, and the second when receiving on type(Draft). Picture one is for enter, and two is for type(Draft).

  1. For this you can use a variety of things, but I am going to be using good old fashion barriers. Make a box for the typing to go in, and then line them up. Collision can stay on.

  1. The only problem with this is it will look really weird when some one types too much. The easiest solution of course is a character limit. You may need to mess around a little bit to find an amount that works for you, but I will use 25. This is pretty small, but if you make the text box bigger, you can fit more. First add a property named characterLimit. Make it a number property and make it look like this.

  1. Now add a trigger, and configure it like this. When you have finished that, look at the second image for the block code to put into it.

image
image
image
image

  1. Now add a notification device. Go into all options and match it to mine.

  1. Add another barrier and make it’s appearance settings match this:

  1. Add two text boxes. Them both with these settings.

Make one say: /25. Make the other say zero, and add a when receiving on characterLimit.

Put these blocks into the grid.

  1. Also make a block that triggers on ⌫. Set it like this:

  1. Make the size of the barrier small enough to fit in the bottom right corner, then position the text over that like so:

Part 5: The Physics

  1. Place down a zone and calibrate it like this:

image
image

  1. Expand it to cover the entire keyboard.

  1. Now add two speed modifiers. Open the first and do this:

image

  1. In the second one put this:

image

  1. Place down a game overlay. Change the settings like this:

image
image
image

  1. Place down another game overlay and type this:


image

  1. Place down the last trigger you’ll ever want to see again, and open its settings. Then copy the following into the pop-up

image
image
image

  1. Place down a teleporter and tweak these settings. Then move it to the center of the keyboard.

image
image

  1. Place down another teleporter where you want them to appear. (If you want them to appear where they last were, see the conclusion.) Configure it like the image.

image
image

  1. But what if someone decides to ruin it for everyone by being mean in chat. We’ll need chat filters. Move away from your keyboard a bit and place down a trigger. Adjust it’s settings like this:

image
image
image

  1. Now make the final block of this build in that very same trigger. Recreate this in that menu:

You can change out the word cheater for whatever you want, and to save space you can use if then loops like this to block messages. The only problem with this is the fact that it has to be the whole message, but it can block common phrases, and be adjusted as people say different things.

Part 6: The Decoration

*Disclaimer: most of this is really only aesthetic and therefore can be left out. The barrier edges will however, keep players on the keyboard. *

  1. Make a black barrier with collision on and no edges. Also do these:

image
image

  1. Move it to the edge of the keyboard and position it like so:

  1. Go into the settings menu and select change size. Then set it like this:

  1. Then make a copy and line up the edge. Try to keep the barrier edge about one 16 grid snap square apart from the key edge, and the outside edge consistent. repeat until the whole right side is done. It should look like this:

  1. Now do the same for the left side:

  1. The bottom is similar but should be able to be accomplished with only 1-3 barriers. When finished, it should appear somewhere along these lines:

  1. Go into props and select a metal sign. I went with the short rectangular one but you do you. Then open it up and go to appearance. Click on the white bar labeled tint, and change the color to something bright. In fact, drag the slider to the very top right corner. The bottom slider is whatever you want, but I went with just the basic red to start.

image

  1. Make a copy, or use a different shaped sign. Then do the same thing. Repeat this until you have five to ten different colored signs:

  1. Now the best part! Layers! Move all of the signs to the very bottom. Fun tip: if you have a lot of things in one place, to the point where your layers are lagging, you can click on the up or down arrow, and in the lag before it moves spam click it. This tricks the game into thinking it moved that many times. This is very helpful in the sign’s scenario, as it allows you to move each sign down many layers at a time.

Screenshot 2023-08-05 14.13.17

  1. Select a sign and choose “Change Size”. Drag it over to the keyboard, then make it nice and big. The actual size is not particularly important. This is what mine looks like:

  1. Now do this for all the other signs. (Repetition counter:7) And this is mine:

  1. Add terrain! Don’t leave your keyboard sitting in the grass, put some matching ground around it. It will look much better with only this minor change. Here I used a base layer of dark scraps, with some dark marble (stone) splashed in for a nice dark gradient.

Cleanup

When you are done, make sure to go around and delete any barrier templates, random copies of props or devices, stray triggers, or anything else littering your map. It’s also a good idea to go into the game mode and make sure everything works properly. Debugging is important! Don’t invite your friends to a non-working keyboard; give them a real show. It’s also worth noting that you can adjust or tweak things as needed to optimize your game. Very few things in this guide are absolutely required. And on that note, here is my finished product:

Conclusion

That’s it! If you’ve read through this entire guide to get here, I applaud your commitment. This took almost two months. (one month in prototyping and design, and one month on the guide) If you could, please leave a like and comment, it would be greatly appreciated. Now to address the comment I made earlier on. I mentioned making it so closing the keyboard made you appear where, (or close to where) you last left off. While it is not explained how to make this in the guide you are currently reading, I plan to use this as a base for future guides. These guides will assume that this guide has already been completed and will use the keyboard as a jumping off point. I have several ideas for these “extension guides”, (I may make this into a tag at some point) but I will not list them here in case some of them don’t work out. If I end up publishing them, I will list them in a comment below, as this can only be edited for thirty days. And with that, don’t forget to like, and happy gimkitting!

What should this be rated?
Tell me below!

  • (Difficulty: :blue_square:)
  • (Difficulty: :green_square:)
  • (Difficulty: :yellow_square:)
  • (Difficulty: :orange_square:)
  • (Difficulty: :red_square:)
  • (Difficulty: :purple_square:)
  • (Difficulty: :black_large_square:)
0 voters
60 Likes

Wow. So many details and pictures, this is an amazing guide!

11 Likes

Thanks!

11 Likes

I like how you also accounted for aesthetics and not just mechanics!

10 Likes

wow so cool! nice guide @Apoll02!

7 Likes

Noice.

7 Likes

Bro wrote a whole essay :skull:

13 Likes

Wow. This works in not only a completely different way than mine, it looks way better.

7 Likes

This is a great guide!

7 Likes

Nice guide!!! Note:If any other guides on different versions come after this, then you can name yours after yourself.

6 Likes

Nice guide!

7 Likes

@NavyCatZ rate post
brfehub

3 Likes

NavyBot is currently discontinued. Sorry for the inconvenience.

4 Likes

wut, why?
nuivfimcrwomj

3 Likes

The purpose of it was to cope with the dead forum.

4 Likes

A separate entity has been confirmed!

3 Likes

This is one of the greatest feats I have ever seen someone pull off in Gimkit. Amazing guide. Just curious, what was the final memory percent?

3 Likes

After all those steps I can see why you disclaimed this

3 Likes

IT JUST DELETED MY WHOLE DRAFT FOR MY KEYBOARD!

3 Likes

now ill have to restart the guide

3 Likes