I have gathered from various sites/resources, the following rules concerning the preposition “o” which, when its meaning is “about”, is always followed by the prepositional case (предложный падеж):
1. before any hard vowel (а, и, о, у, э), always use "об";
2. before any consonant or any soft vowel (е, я, ю), always use "о";
3. "обо" would be only used in the following 6 expressions: -
- обо мне : about me;
- обо всех: about everybody (pronoun);
- обо всём: about everything (pronoun) or about the whole of something (i.e. masculine and neuter adjectives);
- обо всей: about the whole of something, i.e. the feminine adjective;
- обо что-то : about something;
- обо всяком/всякой/всяких… : about any of something, i.e. the masc.+neuter/feminine/plural adjective.
4. Exceptions: when “о” does not mean “about” but “against”, it is then followed by the accusative case, and there are a limited number of exceptions to the above rules, e.g. об пол (against the ground), об руку (against the arm), об стену (against the wall) – in all these three cases, об goes in front of a consonant so rule 2 is not respected. To be noted that in this meaning, we could also find accusative constructions such as обо всего …, обо весь …, обо всё …, обо всю …, обо всех …, and обо все… corresponding respectiveley to masc. animated, masc. unanimated, neuter, feminine, plural animated and plural unanimated.
My question is twofold :
a) are the above rules really exhaustive and contemplating all possible cases, especially the third one, or could we think of other situations where обо would be used?
b) are the 3 exceptions mentioned under 4, when “о/об” means “against”, the only 3 exceptions to rules 1 to 3 or are there other cases where об could be used before a consonant when meaning “against” ? For example, should we say for “against the cupboard”: о шкаф or об шкаф ?