[Userscript] Self-Study Quiz


@rfindley Similar results compared to @Powerpuncher here after adding console.log. quiz key handler is called twice for regular keyboard input, but only once for enter key. When the answer is wrong it catches the enter key. Upon subsequent press of enter key following wrong answer quiz key handler is not called.


For me it also happens when I input a correct answer. It happens on two different computers as well. Both with firefox and tampermonkey.


Yeah I tried to make that distinction apparent in my posts, but for whatever reason I ONLY experience it on wrong answers. Correct answers don’t lose keyboard input for me. As annoying as it is for me when I get an answer wrong, I feel for ya having to click on every submission :frowning:

Not sure what could be causing the difference between our experience there.


@Powerpuncher, are you also on a Mac?


Nope. One computer is running windows 7, the other windows 10.


:point_right: [v3.0.11] - Fix issue with Firefox disabling keys

@Powerpuncher @Torere


Works like a charm, thank you for your hard work again!


:point_right: [v3.0.12] - Add setting for max quiz size

[Userscript] WaniKani Open Framework Additional Filters (Recent Lessons, Leech Training, Related Items, and more)

@rfindley Any word on the synonyms issue? I’m still not having any of my synonyms show up in the quiz.


@rfindley Hi, I also wanted to ask about the synonyms issue. I usually write meaning in Spanish (my mother tongue) so as not to force a double learning in my brain, I have tried writing those Spanish words in the quiz but they are always considered wrong :frowning:


:point_right: [v3.0.13] - Fix synonyms

@seanblue @chofas


Thank you very much for this Script. :heart:


Thank you!!! :blue_heart::green_heart::yellow_heart::purple_heart:
I will try it as soon as I get home tonight :smiley:


I have a suggestion.

Some kind of “mark note” like anki.
If I review some Kanjis and I want to mark some for later drilling.
That would also mean another filter for only marked or not marked items.

#edit @rfindley

Is it possible to make filter based on filtered items?
An example would be to quiz every kanji of the vocabs


Sort of, but all of the other filters would also have to be focused on selecting the kanji rather than the vocab.

For example, you couldn’t say “give me all Apprentice Vocab, and then replace them with the Kanji that they contain”. Instead, you’d have to have one filter that says “give me all kanji that are components of an Apprentice Vocab”.

That being said, if it looks like there’s more than just a one-off scenario for this, I might consider adding a more direct solution. Something like a post_map function on the filter that would replace an item with zero or more substitute items. So, all of the other filters would choose the items, and then the post_map filter would replace those items with their components, or with the items that it is a component of, etc…

Before I’d consider it, though, I’d want some thought put into what all purposes a post_map might be used for. Off the top of my head:

  • Replace item with its components
  • Replace item with items that it is a component of.
    (And in both of those cases, also optionally retaining the original item)

Can anyone think of any other mappings/substitutions?


If it works at the same scope as filters it could cause ordering issues. If two filters have a post map, running them in opposite orders could yield different results.


You could create a separate script for marking items in general and then create a filter to only include those marked items. Or if such a script for marking items already exists, build your filter on top of it by utilizing its data.


Yeah, I had thought of that. I figured all post_map functions would run on the same pre-map data. Then the result of each post_map would be combined, and would then replace the pre-map data.


It seems a bit overly complex to me.

I’m actually working on a version of “replace item with items that it is a component of”, but obviously it wouldn’t factor in other filters. Basically you’d specify a manual list of kanji and the filter would return every items that contains that kanji.


It turns out to be about 8 lines of code. But you’re right. The user doesn’t know that a “Kanji of Vocab” filter is going to apply the other filters first, and there’s no clear way to convey that in the current interface.

It also opens the door to creep. What if the next request is “All previous-level kanji that are components of current-level vocab”? Then you have a filter-map-filter. And how about “radicals of previous-level kanji that are components of current-level vocab”? lol :slight_smile: