Da hast du recht, wenn das oben aus dem Link die komplette Doku ist, ist es sehr schwammig.
Ok, versuch mal folgendes:
Du hast ja bei I2C Write und Read Adressen. Wenn du also mit 0xC6 das Display ansprichst, dann ist das niedrigste Bit =0 was einem Schreibzugriff entspricht. Gelesen wird, indem du eine 1 ans niedrigste Bit schreibst, also 0xC7 als Adresse. Danach sendest du die Registernummer, also 0, 1, 2 oder 3, wie in der Tabelle bei "Display Control Commands". Danach sollte dann der Controller vom Display anfangen die Daten zu senden. Am besten kannst du das wohl mit Register 3, der Versionsnummer testen. Wie die Keypads abgefragt werden, ist mir schleiferhaft, eigentlich reicht doch ein Byte, warum die das in Higher und Lower Byte getrennt haben, weiß ich nicht.
Ah da weiter unten stehts ja, die haben für jede Taste ein Flag spendiert.. soso.