Meaning / Usage of Modifier Keys for Keyboards in Different Languages

Wikipedia says the "Shift key" is for uppercasing letters. But a quick look here shows the Tamil keyboard like this:

enter image description here enter image description here

If you look at the Japanese keyboard, the Caps-Lock does slightly different things than the Shift key.

Basically in these two cases they are just (it seems) filling up the provided keyboard space with symbols from the given alphabet. But what I'm wondering is if there are any design principles around this. If anyone has written anything on the ways that work well for users and other ways that work less well when it comes to organizing the symbols on the keyboard. In these cases, why some alphabetic symbols are placed on the punctuation keys (e.g. m becomes / in tamil), and why others are placed in Shift or Caps-Lock, and how to balance this with the alt keys.

Basically just wondering what the landscape looks like in terms of design for keyboards of languages outside of English.