A method of case detection that uses lists and one "hacked" block (click "See inside" for a more detailed explanation). The main problem with it seems to be that testing new characters is (relatively) REALLY SLOW; however, once a character has been tested once in a sprite, testing that same character again becomes very quick. (To observe this yourself, you can copy the scripts into a new sprite and run them there.) This project also has an implementation of the fastest variable-based method (the one used by TheLogFather in this project: https://scratch.mit.edu/projects/65588048/), for speed comparison (with all characters having already been tested with the list method). The thing that I like about this method is that, as well as being very fast for already-tested characters, it's NOT SPRITE-NAME-DEPENDENT (unlike the fastest variable-based method).
I'd like to see what other people think of this -- Characters for testing were taken from one of TheLogFather's projects The script images were made with the new scratchblocks (https://scratch.mit.edu/discuss/topic/193414/)