#!/bin/sh # the next line restarts using wish \ exec wish -f "$0" "$@" frame .buttons -borderwidth 10 pack .buttons -side top -fill x set keyboard "English" # define two buttons for the keyboards and quit wm title . "Xgreek 1.0" wm protocol . WM_DELETE_WINDOW { set keyboard [English $keyboard] exit } button .buttons.quit -text Quit -command { set keyboard [English $keyboard] exit } button .buttons.greek -text Greek -command {set keyboard [Greek $keyboard]} button .buttons.english -text English -command {set keyboard [English $keyboard]} pack .buttons.quit .buttons.english .buttons.greek -side right # Greek procedure proc Greek {keyboard} { if {$keyboard == "English"} { exec echo "\ keysym semicolon = Mode_switch Mode_switch Mode_switch Mode_switch\ keysym a = 0xE1 0xC1 220 182\ keysym b = 0xE2 0xC2\ keysym c = 0xF8 0xD8\ keysym d = 0xE4 0xC4\ keysym e = 0xE5 0xC5 221 184\ keysym f = 0xF6 0xD6\ keysym g = 0xE3 0xC3\ keysym h = 0xE7 0xC7 222 185 \ keysym i = 0xE9 0xC9 223 186\ keysym j = 0xEE 0xCE\ keysym k = 0xEA 0xCA\ keysym l = 0xEB 0xCB\ keysym m = 0xEC 0xCC\ keysym n = 0xED 0xCD\ keysym o = 0xEF 0xCF 252 188\ keysym p = 0xF0 0xD0\ keysym q = semicolon colon\ keysym r = 0xF1 0xD1\ keysym s = 0xF3 0xD3\ keysym t = 0xF4 0xD4\ keysym u = 0xE8 0xC8\ keysym v = 0xF9 0xD9 254 191\ keysym w = 0xF2 0xD3\ keysym x = 0xF7 0xD7\ keysym y = 0xF5 0xD5 253 190\ keysym z = 0xE6 0xC6\ clear Mod3\ add Mod3 = Mode_switch\ " | xmodmap - } return "Greek" } # English procedure proc English {keyboard} { if {$keyboard == "Greek"} { exec echo "\ keysym 0xE1 = a A\ keysym 0xE2 = b B\ keysym 0xF8 = c C \ keysym 0xE4 = d D\ keysym 0xE5 = e E\ keysym 0xF6 = f F\ keysym 0xE3 = g G\ keysym 0xE7 = h H\ keysym 0xE9 = i I\ keysym 0xEE = j J\ keysym 0xEA = k K\ keysym 0xEB = l L\ keysym 0xEC = m M\ keysym 0xED = n N\ keysym 0xEF = o O\ keysym 0xF0 = p P\ keysym semicolon = q Q\ keysym 0xF1 = r R\ keysym 0xF3 = s S\ keysym 0xF4 = t T\ keysym 0xE8 = u U\ keysym 0xF9 = v V\ keysym 0xF2 = w W\ keysym 0xF7 = x X\ keysym 0xF5 = y Y\ keysym 0xE6 = z Z\ keysym Mode_switch = semicolon colon\ " | xmodmap - } return "English" }