
Keyboard Input Window - for RPG MAKER MV/MZ
A downloadable RMMV/RMMZ - Plugin
Updated to version v1.2.0!
Now with RPG Maker MV / MZ support, Plugin Commands for MZ, custom window size, custom font size, text alignment, vertical alignment, default text, custom letter sound, and several bug fixes and usability improvements.
GENERAL
Keyboard Input Window is a plugin that creates a keyboard-compatible window for text input and stores the typed result inside an in-game variable.
It can be used for many different purposes such as:
- naming systems
- secret words / password inputs
- journal entries
- custom text prompts
- puzzle solutions
- general keyboard-based interactions
The plugin is simple to use, but it also offers several customization options for developers who want more control over the look and behavior of the input window.
MAIN FEATURES
- Fast response to keyboard typing
- Script Call support
- Plugin Command support for RPG Maker MZ
- Manual window positioning
- Placeholder text
- Default text
- Automatic width calculation based on max characters
- Custom window width and height
- Custom font size
- Custom padding
- Max characters limit
- Custom window opacity
- Optional lower case conversion of the final result
- Optional custom letter typing sound
- Text alignment support (left / center / right)
- Vertical alignment support (top / center / bottom)
- Optional empty input blocking
- Cancel / Esc handling improvements
PLUGIN PARAMETERS
This plugin includes a plugin parameter called Allowed Charset.
Using this parameter, you can define which letters, symbols, numbers and characters are allowed to be typed inside the input window. Any character not included in the allowed charset will simply not be accepted.
The plugin also supports a custom letter sound parameter, allowing you to replace the default cursor sound with your own typing sound effect.
HOW TO USE
This plugin can be used in two ways:
1) Script Call
The simplest way is:
this.create_key_window();
Using it this way, the plugin will use the default configuration.
You can also pass an options object to customize the window:
this.create_key_window({
variable: 5,
placeholder: "Type a secret word...",
default_text: "",
max_characters: 32,
position: [320, 120],
width: 360,
height: 72,
font_size: 28,
padding: 18,
opacity: 255,
lower_case_result: false,
letter_sound: true,
text_align: "center",
vertical_align: "center",
allow_empty: true,
cancel_clears_variable: false
});
In the example above, the plugin creates a keyboard input window with a custom placeholder, custom size, centered text, and a maximum of 32 characters.
2) Plugin Command (RPG Maker MZ)
Version 1.2.0 also adds support for Plugin Commands in RPG Maker MZ.
You can now open the keyboard window directly from the editor without relying only on script calls.
Available command options include:
- target variable
- placeholder
- default text
- max characters
- lower case result
- letter sound
- opacity
- position X / Y
- width / height
- font size
- padding
- text align
- vertical align
- allow empty confirm
- cancel clears variable
This makes the plugin much easier to use for developers who prefer event-based workflows.
AVAILABLE OPTIONS
The main available options are:
- variable → target variable ID that will store the typed result
- placeholder → text shown when the input is empty
- default_text → initial text already written inside the window
- max_characters → max number of characters allowed
- position → manual [x, y] position
- width → manual window width
- height → manual window height
- font_size → custom text size
- padding → custom inner padding
- opacity → window opacity
- lower_case_result → converts the final result to lower case
- letter_sound → enables/disables typing sound
- text_align → left, center, right
- vertical_align → top, center, bottom
- allow_empty → allows or blocks confirmation on empty text
- cancel_clears_variable → clears the variable when the input is cancelled
WARNING: all option property names are case sensitive, so they must be written exactly as shown in the documentation.
PLUGIN COMPATIBILITY
This plugin should not directly interfere with other plugins in normal use.
However, compatibility can depend on the specific setup of your project, especially if other plugins alter:
- input handling
- window behavior
- scene behavior
- keyboard event management
Please note that I cannot guarantee compatibility with every third-party plugin combination.
Older versions of the plugin are still available for download.
RPG MAKER VERSION
The plugin was originally developed for RPG Maker MV and later updated to support RPG Maker MZ. Version 1.2.0 supports both MV and MZ.
As always, compatibility may depend on the overall plugin environment of your project.
TERMS OF USE
- Credits are not mandatory, but they are greatly appreciated
- Credit as Bluemoon / Sparrow Tales
- Please do not rename the plugin file, plugin parameters or core plugin information if not necessary, to preserve code integrity
- Edits to the code are allowed for personal project use
- This plugin can be used in both commercial and non-commercial projects
- You may not redistribute this plugin as-is
- You may not reuse portions of the code inside another distributed plugin
Thank you very much for the support!
| Updated | 15 days ago |
| Status | Released |
| Category | Tool |
| Rating | Rated 5.0 out of 5 stars (5 total ratings) |
| Author | BlueMoon |
| Made with | RPG Maker |
| Tags | 2D, game-development, mv, plugin, plugins, RPG Maker, RPG Maker MV, rpgmakermv |
| Links | Twitter/X |
| AI Disclosure | AI Assisted, Graphics |
Purchase
In order to download this RMMV/RMMZ - Plugin you must purchase it at or above the minimum price of $2.99 USD. You will get access to the following files:
Development log
- Update v1.2.0! New features, Plugin Commands and more!15 days ago
- Update v1.1.0! Code update and MZ support!Jan 27, 2022



Comments
Log in with itch.io to leave a comment.
Hello, this plugin is exactly what I needed, but there seems to be a problem.
If nothing is typed and you press Enter, an error occurs.
I also noticed that I can't close the window by pressing Cancel.
Any suggestions on how to resolve this?
I might be missing something, but how do you detect whether or not the player put in the right answer to a questions? (I.E. when the secret word is apples).
You can do this using the "Conditional Branch" event command. I usually suggest to use the "Script" section and check the variable used for registering the input.
So you'll have:
$gameVariables.value(variable_id).toLowerCase() === "your word all lowercase".
This way you'll make the check not case sensitive. If you need a case sensitive check remove the "toLowerCase()" function.
I'm still having issues getting what the player writes detected. Could you use the example but show what it would look like with variables placed in it? I'm clueless when it comes to scripting.
I know this is an old comment sorry but i just figured it out! In setting a variable there's a "Script" option and you store the string with quotations in the script line. So if the correct answer is bananas, you'd put "bananas" in the script line and set the correct answer variable to that and then use a conditional branch to see if the word the player types in matches the correct variable you've set.
Is there a way to prevent the player from doing a space in the text? The plugin is perfect otherwise but this single thing makes it unusable for me :( Thank you!
Hey!
I'm sorry but currently there is not a feature that prevents the use of spaces :(
I know that is just a random suggestion but you can try to solve the problem in a design way like guiding your player in searching for keywords that are not separated by spaces. Or better you can use a trick but you have to be good with the organization of conditional branches.
Using the "Script" section of conditional branches you can check the variable used for registering player's inputs this way:
$gameVariables.value(variableId).contains(" ")
This way you'll check if the prompt of the player contains at least a space. If it happens you can like retrieve a "system message" (a simple show text or what you want considering your game) that warns the player that "Spaces are not allowed!"
Good luck!
Salute e grazie per questo magnifico plugin!
Volevo chiederti se è possibile fare in modo di rimuovere il bordo nero delle lettere quando si inserisce il testo/password.
Volevo imitare l'effetto di una password inserita a PC, ma purtroppo il plugin GALV_MessageStyles non si attiva con le parole inserite col tuo plugin.
C'è la possibilità di rimuovere tale bordo, solo quando inserisco la password?
Ti ringrazio in anticipo del tuo tempo.
Sinceri saluti.
Buongiorno e ti ringrazio per aver scelto questo plugin!
Purtroppo il plugin non è dotato di un sistema di personalizzazione dell'UI. Però dovrebbe comunque essere compatibile con tutti i plugin che direttamente intervengono sulla Windowskin ed in generale sulla classe Window dal punto di vista stilistico. Non so perché nello specifico Galv_MessageStyles non sia compatibile (forse questo dipende dall'utilizzo di notetag? Non saprei). Comunque ti consiglio di spulciare il web e sono sicuro che potresti trovare plugin che permettono personalizzazioni ad-hoc.
Saluti!
Grazie della dritta!
Ho fatto a pezzi un altro plugin per questo scopo, mettendo parte del suo plugin come script, e funziona!
Grazie davvero per non avermi messo nel dimenticatoio! xP
E qualsiasi cosa stai facendo, ti auguro che vada per il meglio! \^O^/
Heya! It's been a while. Can you help me with the script part? I want to print the input to a text or choice window, but I do not know how. Any help will be greatly appreciated!
Hey! Sorry for the late reply!
If I understand your question you want just to show the content of player's prompt into the text of message or choice windows.
You can just use escape codes with the variable ID used for registering the player's prompt.
Like:
"Hey! This is the text you have typed: \v[variableId]" where "variableId" is the ID you've used for saving player's input.
Good luck!
hello, I love this plugin, but I have a problem, if I run it on android, the player can't write. Is there any script that shows the mobile or game keyboard?
Thank you very much :)
Hello!
Thank you very much for your kind support 🙏. For Android, this is not really plugin related since it's a known limit of HTML5 technologies that are the base of RPG Maker exports. Indeed, VirtualKeyboard API would be the starting point of making Rpg Maker applications compatible with Android keyboard - because it allows control over the keyboard itself -. However this API was not available at the time of the plugin and today is still an experimental feature.
Unfortunately on my knowledge there is not too much that it's possible to do on the technical side.
However, some time ago a friend of mine surpassed this problem using plugins that allows to bind pictures on screen forcing the execution of a common event on touch (like VisuStella common events if I remember correctly).
In a few words, he created a board with key's pictures binding them to a common event that was adding a character (like result_string += "a") every time the pictures were pressed. This is a matter for expert eventers that has at least a little knowledge of JS too... but I think you can find your own way if you may be interested in this kind of systems :)
Thank you again!
Ooh I understand, mmm thank you very much 🐈 I guess even if I don't know Js I'll try it anyway, after all I find it a very nice thing to do 🥰 although complex.
I think I'll try to study to be able to expand to more development programs like Game maker for example 😅 although for now I'll keep developing in RPG maker ❤️
Works perfectly! Would love to see an option for the text to scroll when overflowed ^_^
Thank you for your feedback!
I'm adding this to my todo since I'm planning to do some products update as soon as I get free from some life duties. Thank you again for choosing my plugin!
Bought this and was looking forward to using, but it seems it does not get along at ALL with the YEP/yanfly plugins. I'm a little surprised it wasn't tested with these, as they're some of the most common plugins around. Can this be fixed? Hopefully it's just a matter of smoothing things over with Core and SkillCostItems, as those are the ones named here. Trying to use on MV.
Never mind, I'm an idiot, screwed up my js. Gotta have an '=' after var options, it's not a method/function.This is absolutely wonderful, thank you! I bought it, downloaded it, and started doing all sorts of wonderful things with this. I appreciate this a lot!
Is there a way to interrupt the input of a textbox, such as if the player runs out a timer?
Hello there!
Thank you so much for your feedback. About your question, currently, there Is not a feature of this sort. Actually, there could be a way if we try to combine eventing with Keyboard Windows inner methods (ex. Having an event in loop that checks for the Activity of the keyboard Window and then forces the "confirm" method of the Window After a Number of cycles).
However, it's a try and catch application and for a released game could not be as much as solid as needed. But, I take note of your idea and, when I'll get free from some job duties I Will push the update for this plugin including a system for interrupting typing :)
Thank you!
That's a bit unfortunate, but I'll wait patiently for if you decide to follow up on it. Thank you very much for the response, and thank you again for your hard work on this plug-in!
I wish there was a tutorial on how to set up the secret word! I'm lost lmao, I can only get the window up and be able to type in it, but not actually be connected to a word :c
Yeah, I'm trying to figure that out myself
Hello! I'm sorry for the late reply, I lost your comment.
So, about your question. It's actually pretty simple because it's just a Conditional Branch using the Script field in the fourth page of branch configuration.
So, if the variable where you set the typed value is the variable of ID 1 you will have this script:
where:
Finally, your secret word inside quotation marks :)
Cheers!
Thank you so much! This actually helps a lot.
I wonder does it works for self variables? I use self variables declared in name of variable as "<self> name" from VisuStella. Will it work as self names for events?
hi! That's difficult to tell since self variables are not something that Is available as default by Rpg Maker. If this is something that could be eventually compatibile with the default variable system, It could be possible, but i can't tell for sure.
This plugin works wonder when running on a PC. When I try to run through a browser on mhy mobile (Android or iOS) the keyboard does not come up. This is a big pity for me because all the other plugins for the (normally simple) task of inputting a string take many seconds to process or clutter the screen with lots of keys. Am I doing something wrong?
Hi,
recently bought this plug in for my game. Im trying to use in dialogue where certain words can trigger an event or another dialogue branch and also to be used as entering a password. could you point me in the right direction on how to achieve this? thank you
Hi!
I just bought your plugin: the default version works but not personalized ones; like this one under. I rechecked again but I don't see the problem. I don't have a SyntaxError, the window just don't open and the event goes on.
Also, could you tell me what is the script call to verify the word that people type?
To verify when I type "Test", I tried in a conditional branch to type under Script: $gameVariables.value(20) == "Test"
But this doesn't seem to work. Any help would be appreciated, thanks again!
Hi there! Sorry for the late reply. Inside your config I can se an error. "letter_sound" is not an option for setting a custom sound letter, but only for enabling/disabling it (true or false). Right now, the plugin can't set custom letters' sound, but as It's a feature that has been requeasted by a lot of customers, I was planning to add it inside a quality of update of the plugin.
Right now I'm quite busy, but I was thinking to make some plugins' updates next week. Hopefully, I will make the update of this one, too :D
Hi! So sorry to bother you with this quite insignificant mistake! That's a great plugin!
(I'll be there to follow the updates if you make some, thank you a lot!)
Not a problem, thank you very much for your feedback and for using the plugin!
Hello! Whenever I try to use your plugin, it says:
Syntax Error

Unexpected Number
Any ideas on how I can fix this?
Hello there!
Thank you for reporting! Can you show me the settings you use for calling the window?
There is an syntax error inside the script call. You have missed the double dots (:) after the variable declaration. Moreover, you have called the variable "option" but you have assigned to the method "options". So, it should work good if you correct the code this way:
var options = {
placeholder: 'What is your name?',
max_characters: 10,
variable : 11
}
EDIT :
You have assigned variable 11, but you're calling in the variable "name" the variable of ID 5. The correct format would be :
var name = $gameVariables.value(11)
Ah yes, it works perfectly now! Sorry for bothering you with this small mistake. Thank you so much for a great plugin!
It's not a problem!
Thank you so much for the support!