Code:
<Patch>
patch_name = `Greek keyboard`
patch_enable = `no`
# patch_group = `Keyboard alternatives`
#
## Replaces keys on the Extended Latin keypad with Greek alternatives.
#
# Enable uppercase for `ß` key
replace_bytes = 851C38, 00 24, 01 24
# Replace layout sign
find_base_address = `ÉÀÇ`
replace_string = 0000, `ÉÀÇ`, `EN/GR`
# Change keyboard layout
find_base_address = `æ\0\0à\0\0è\0\0ì\0\0`
# Second row, left to right:
# (for Touch/Mini/Glo/Aura the first key moves to top row, first column.)
replace_string = 0000, `æ\0`, `!`
replace_string = 0004, `à\0`, `ά`
replace_string = 0008, `è\0`, `ς`
replace_string = 000C, `ì\0`, `ε`
replace_string = 0010, `ò\0`, `ρ`
replace_string = 0014, `ù\0`, `τ`
replace_string = 0018, `á\0`, `υ`
replace_string = 001C, `é\0`, `θ`
replace_string = 0020, `í\0`, `ι`
replace_string = 0024, `ó\0`, `ο`
replace_string = 0028, `ú\0`, `π`
replace_string = 002C, `ý\0`, `-`
# Third row, left to right:
# (for Touch/Mini/Glo/Aura the first key moves to top row, second column.)
replace_string = 0030, `œ\0`, `?`
replace_string = 0034, `â\0`, `α`
replace_string = 0038, `ê\0`, `σ`
replace_string = 003C, `î\0`, `δ`
replace_string = 0040, `ô\0`, `φ`
replace_string = 0044, `û\0`, `γ`
replace_string = 0048, `ä\0`, `η`
replace_string = 004C, `ë\0`, `ξ`
replace_string = 0050, `ï\0`, `κ`
replace_string = 0054, `ö\0`, `λ`
replace_string = 0058, `ü\0`, `ή`
replace_string = 005C, `ÿ\0`, `ώ`
# Bottom row, left to right:
replace_string = 0060, `ã\0`, `ζ`
replace_string = 0064, `ñ\0`, `χ`
replace_string = 0068, `õ\0`, `ψ`
replace_string = 006C, `å\0`, `ω`
replace_string = 0070, `ß\0`, `β`
replace_string = 0074, `ç\0`, `ν`
replace_string = 0078, `đ\0`, `μ`
replace_string = 007C, `ø\0`, `,`
replace_string = 0080, `ij\0`, `.`
replace_string = 0084, `ł\0`, `ύ`
#
# Top row: Extra keys for Touch/Mini/Glo/Aura only.
# (This patch cannot change the top row of the AuraHD/H2O/GloHD keypad.)
find_base_address = `ƒ\0\0þ\0\0š\0\0ž\0\0`
# Top row: columns 1-2 (see first key of second/third rows above.)
# Top row: columns 3-5
replace_string = 0004, `þ\0`, `έ`
replace_string = 0008, `š\0`, `;`
replace_string = 000C, `ž\0`, `:`
# Top row: column 6 is a duplicate of the last key on the bottom row.
# Top row: columns 7-10
replace_string = 0000, `ƒ\0`, `"`
replace_string = 0010, `μ\0`, `ί`
replace_string = 0014, `ª\0`, `ό`
replace_string = 0018, `º\0`, `'`
</Patch>