Activities ::: mod_mootyper
Maintained by Picture of AL RachelsAL Rachels
MooTyper implements a typing practice/instruction functionality into Moodle.
Latest release:
599 sites
41 fans
Moodle 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10

BEFORE YOU UPGRADE NOTE! This version of MooTyper changes the lesson file layout! After your upgrade, an admin will need to click on the Edit gear icon and select, Import lesson / KB layout. Depending on the speed of your server, this can take a while.

If you have created any lesson files of your own, you will need to modify them to be compatible with the new Lesson file format in this MooTyper version. Comparison with a file from this version will show you that each exercise is followed by the exercise name using the same sequence of keystrokes, /**/, as a delimiter.

MooTyper is an Activity module. A course admin, manager, or teacher creates the activity and prepares it for use by selecting the keyboard layout and lessons to use.  It can be set up to present a series of exercises from a lesson or to present one selected exercise from a lesson as a typing exam. Once set up, students can then start to type the current exercise. When a student finishes an exercise his achievement is saved into a database, so the teacher can then view grades.

The following keyboard layouts are available in this MooTyper release: Arabic, Armenian, Belgium(Dutch), Bulgarian, Croation, Czech, Danish, Dvorak(US), English (UK), English(US), EnglishWKeypad(USV6), Estonian, French, FrenchWKeypad(FRV6), German(Swiss), German, GermanWKeypad(V6), Greek, Hebrew, Hungarian, Italian, Norwegian, numberKeypadOnly, Portuguese(Brazil), Portuguese(Portugal), PortugueseWKeypad(PortugalV6), Romanian, Russian, Serbian, Slovenian, Spanish, SpanishWKeypad(V6), Swedish, Telugu, Thai, Turkish, Ukrainian, Uyghur, and Vietnamese.

You can visit the website URL listed down below, create an account, and try any of the listed layouts. If there is a layout not listed, that you would be interested in trying, please make a request in the comments below, or at the github Source control URL location.

For this MooTyper Version 3.9.6 release, immediately after you upgrade, you may need to go to one of your MooTyper activities and in it's Administration block, click on, Import lesson / KB layout, so you will get versions of all the new keyboard layouts and lessons. Depending on how you do the upgrade, your old keyboard files may be erased. In that case you will get an error that can be cleared by going to Setup for each MooTyper, and select a keyboard layout to use. Old keyboard versions are not necessarily compatible with the styles.css file included in this version. In some cases, this version includes multiple layouts.

Recent New Features - note that the page was getting so long, I have removed previous version, New Features, lists.

  • Added capability to edit Lesson names in the database.
  • Added the capability to edit exercise names in the database.
  • Added the capability to add exercise names when creating/editing and exercise.
  • Added Exercise names to the info displayed on the view.php page.
  • Added a simple exercise name to each exercise in each included lesson sample.
  • Added more sample lessons.
  • Added more keyboard layouts and upgraded some more to version 5.
  • Fixed the bug in, owngrades.php, where the grade table right side border does not render in some browsers.
  • Fixed a bunch of minor HTML errors in the keyboard layout files.
  • Added a bunch of V5 and a couple of V6 keyboard layouts.
  • Fixed missing link to suspicion check in atchk.php file, that was making both the attempts and checks table to fill up with orphaned entries.
  • MooTyper now will allow you to use the Moodle Grade system. Should only be used for Exam mode.
  • MooTyper now will allow you to use the Moodle Rating system. Works best for Practice and Lesson modes.
  • Mean, Median, Mode, and Range statistics are listed below the grade tables.

Other recently added features:

  • Added new security and log events.
  • Tweaked some keyboard layouts to ensure proper rendering.
  • Added Groups to the View all grades page.
  • Added buttons to make navigating between MooTyper pages easier.
  • If student does not make any mistakes, the results will show as 0: No mistakes, instead of Undefined.
  • Currently, the Actions menu item, Export/edit exercises, is hidden if you cannot edit the lesson of the current MooTyper activity.
  • Currently, the Settings button, is hidden if you cannot edit the lesson of the current MooTyper activity.
  • Mistake details are shown to the student in real time in the space between the status bar and the text to type.
  • Mistake details are shown in the Mistakes column when a teacher, manager, or admin goes to, View all grades.
  • Mistake details are shown in the Mistakes column when a student goes to, View my grades.
  • Mistake details are included in the Mistakes column of the CSV file when a teacher, manager, or admin selects, Export to .csv.
  • The former link, Export to .csv, is now a button.
  • New key top text color setting
  • New time limit setting that works with all three modes, Lesson, Exam, and Practice
  • New required WPM settingthat works with all three modes, Lesson, Exam, and Practice
  • Capability to set time limit, precision, and WPM rate to zero, so you can mix-and-match requirements for all three modes
  • Added a Cancel button on the Settings page
  • Add information regarding time limit, precision, and WPM to, View all grades, View my grades, and csvexport file.
  • Fixed a bug that limited Exams to exercise 1
  • Added Lesson ID to the link for adding additional exercises on exercises.php page
  • Fixed bug that was showing edit and delete icons when the lesson/exercise was NOT editable by the viewing person
  • plus a few others
  • Added new events for logging exam_completed, exercise_completed, and lesson_completed.
  • Started changing various links into buttons.
  • New Cancel buttons when editing or adding a new exercise.
  • New Cancel button when creating a new Lesson category.
  • Some new log events, plus some with more information.
  • The statistics bar is now full width to accommodate longer labels in some foreign language that were causing a line break forming three lines of text, instead of the desired two.
  • Fixed a bug that was preventing selecting a mode other than the site default mode.
  • Added Lesson/Category name just above the status bar, between the Mode and Exercise X of X.
  • Made SQL code change so that keyboard layout lists are in alphabetical order in the three places they can be seen.
NOTE: If you are like me and have numerous instances of MooTyper in your courses, you can switch to one of the new keyboard layouts much faster by changing the setting in the database. First go to one MooTyper and import the new keyboard layouts so they are added to the database. Check the mdl_mootyper_layouts table to see what is in the ID field of the keyboard you want to use. Go to the mdl_mootyper, and change the layout field to the ID number of your desired keyboard layout.

For any additional information please visit us on GitHub or post in MooTyper's forum topic.


Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3
Screenshot #4
Screenshot #5
Screenshot #6
Screenshot #7
Screenshot #8
Screenshot #9


Picture of AL Rachels
AL Rachels (Lead maintainer)
Picture of Jaka Luthar
Jaka Luthar: Original author
Picture of Yerb Khan
Yerb Khan: Original concept
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Picture of AL Rachels
    Tue, Aug 11, 2020, 3:15 AM
    I have just added a MooTyper 3.9.1+ version because the original release for 3.9.1 had an extra zero in the version number. It was a dumb mistake on my part, and I am sorry. Currently, an upgrade to the next version will fail due to a, Higher version is already installed. After all, 20 million is much larger than 2 million. The directions on how to fix the version and allow an upgrade to proceed is in the first paragraph at the top of this page. IF you did NOT, or have not, installed MooTyper 3.9.1, you should be able to upgrade to MooTyper 3.9.1+ without any problems.

    I'm posting this now because the upcoming MooTyper 3.9.2 version does have both the Moodle Grade and Moodle Ratings working in it, and I know may people will be glad to finally have this capability. I am going to delay its release for a few days, as right now it only works for Moodle 3.9 and Moodle 3.8. That's because the forum code I was copying is using some "new stuff" introduced in Moodle 3.8. Since about 36% of the sites using MooTyper, are on Moodle versions 2.7 thru 3.7, they would not be able to take advantage of having MooTyper automatically place grades in the Moodle grade book.
  • Picture of AL Rachels
    Wed, Sep 16, 2020, 12:03 AM
    Sorry that the release delay mentioned in my last post, has lasted for more than a month now, but I have just been swamped with "things to do" and it does not help that verification testing takes so much time. Due to additional testing needed for the new rating and grade capabilities, I have come to the decision to drop support for MooTyper in versions of Moodle that are no longer supported as shown on the version support chart at

    Currently, this means I will make sure MooTyper works with Moodle 3.5 or higher and PHP 7.1 or higher. Yes, I know that Moodle 3.5 specifies PHP 7.0, but I have adopted some PHP stuff that became available in 7.1.

    I also realize there are going to be a few users unwilling to upgrade their sites to Moodle 3.5 and higher, that are going to want to be able to take advantage of MooTyper's new gradebook capabilities that will not be happy with this decision. Simply because researching for this upcoming release I know what needs to be changed, this one time I will try to make available a custom version of MooTyper that will work on Moodle 3.4 and lower and with a lower version of PHP. To get the zip file, you will need to contact me via email message, and I'll see that you get the needed zip file.
  • Picture of Birgit Lachner
    Mon, Oct 26, 2020, 3:57 PM
    Hi ...
    MooTyper is a quite nice Tool. But I'm abit struggeling, because I want to distribute ready made Lessons for german available for all user.

    In our Bundesland/Federate Country Rhineland-Palatinate we have a common moodle installation but with different instances. Our admin is not sure how to get the lessons to all of the users and we did not find detailed informations.

    As far as I understood the informations at the plugin-page the plugin gets the file for lessons and keyboards by the server or installations-file!?

    My ideas is and hence the question, if I can send you the lessons and you can add it to the official collection of lessons?

    Best regards, Birgit Lachner

  • Picture of AL Rachels
    Mon, Oct 26, 2020, 11:02 PM
    Hi Birgit,

    I am always happy to hear from users of MooTyper. Yes, if you send me the file, I will be happy to include the German Lessons in the next MooTyper release. drachels at drachels dot com Next release should be sometime in the next couple of weeks as I am currently testing it with the new Moodle 3.10 code, to make sure everything is going to work okay.

    By the way, which keyboard layout are you using? Would you be interested in one that has the number keypad on the right side, like the EnglishWKeypad(USV6)? If you are interested let me know and I will try to get it done in the next day or two.
  • Picture of AL Rachels
    Wed, Oct 28, 2020, 1:32 AM
    For anyone interested, if you would like to see the English, Spanish, or German keyboard layouts with the number key pad on the right, go to the Website URL link list above, then go to each of the same named courses.
  • Picture of Victor Zugadi
    Tue, Jan 5, 2021, 7:39 PM
    Mootyper does not work for me with moodle 3.9 function check_database_tables_row_format throws error/invalidmysqlnativetype
  • Picture of AL Rachels
    Thu, Jan 7, 2021, 4:54 AM
    Hi Victor,
    What version of MooTyper are you using, which PHP version, and what database type? Ned to know so I can try to duplicate.
  • Picture of AL Rachels
    Mon, Mar 29, 2021, 12:20 AM
    Anyone interested in being able to edit lesson names? Or adding/editing exercise names? Go check this forum entry for details.
  • Picture of SREE VISHNU
    Fri, Apr 9, 2021, 4:14 PM
    Hi Al Rachels and all,

    I'm getting the below error when I click on setup :

    Debug info: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
    SELECT * FROM mdl_mootyper_exercises WHERE lesson=
    [array (
    Error code: dmlreadexception

    Stack trace:
    line 486 of /lib/dml/moodle_database.php: dml_read_exception thrown
    line 1273 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
    line 181 of /mod/mootyper/classes/local/lessons.php: call to mysqli_native_moodle_database->get_records_sql()
    line 383 of /mod/mootyper/mod_setup.php: call to mod_mootyper\local\lessons::get_exercises_by_lesson()

    This plugin was running fine all the while. I'm facing this issue when I tried to translate my own lesson in this plugin. I deleted the lesson and even tried to uninstall and deleted the database, yet the same issue persists when I reinstall the plugin.

    Anyone else faced the same issue?
  • Picture of AL Rachels
    Sat, Apr 10, 2021, 1:55 AM
    For me to possibly be able to help, I need to know your MooTyper version, your Moodle version, your php version and your database type and version.
  • Picture of SREE VISHNU
    Mon, Apr 12, 2021, 9:48 AM
    Hi AL Rachels,

    MooTyper version
    I was using 3.9.1+ (Build: 2020070801), then when I had this error, I tried to uninstall, delete from DB, and re-install version 3.9.6 (Build: 2021032000), yet the error still persists.

    Moodle version - 3.9

    PHP version - 7.4.13

    Database type and version - mySQL / 5.5.3
  • Picture of AL Rachels
    Mon, Apr 12, 2021, 10:33 PM
    I think you need to try and totally remove MooTyper and start over and make sure all seven of the MooTyper database tables are removed.
    When you tried to translate you own lesson, were you doing it in the MooTyper built in lesson editor? Or, were you using an external text editor, such as Notepad++?
  • Picture of AL Rachels
    Tue, Apr 13, 2021, 6:19 AM
    Getting set to release a new MooTyper v4.0.0. It is already on the demo site at for anyone interested. Main things that are new is the capability to give exercises a name, edit exercise names, and edit lesson names. Exercise names will now be part of a lesson file export and import which means I had to change the file format for lesson files. Still testing on older versions of Moodle, but should be release, soon.
  • Picture of SREE VISHNU
    Tue, Apr 13, 2021, 4:19 PM
    Thanks, AL Rachels,

    I manage to sort it out by deleting all the tables and re-installing the plugin.
  • Picture of AL Rachels
    Wed, Apr 14, 2021, 1:00 AM
    Thanks for posting your feedback.
1 2 3 4 5 6 7 8
Please login to post comments