Módosítok

Megint fölmerült a szokásos problémám, hogy többféle betűre lenne szükségem, mint amennyit a billentyűzet szolgáltatni tud, és nincs hova tenni őket. Ez egy tragédia, hogy a műanyag gombok egyszer s mindenkorra behatárolják a lehetőségeket, azazhogy évtizedekkel ezelőtt határolták be, amikor az amerikaiak még nem is gondoltak arra, hogy az angolon kívül léteznek nyelvek. Az első PC-billentyűzet harminchat éve született, de azt is korábbiak ihlették.
  Én ugye magyar kiosztást használok, a saját kis programom csinálja, minden szükségeset tud, nagyon szeretem. Egy baj van vele. Ha néhány tucatnál több idegen betű kell pár percen belül, akkor a sok dögbill már fárasztó tud lenni. A nyelvtanuláshoz van nekem egy kis szószedetem, és azt írogatni azért már nem kényelmes.
  Egy lehetséges megoldás, hogy csinálok egy lett billentyűkiosztást, persze nem ilyet:
  ū g j r m v n z ē č ž h ķ
  š u s i l d a t e c
  ģ ņ b ī k p o ā , . ļ
  (és legfelül jobbra külön az f), mert ehhez azért lettnek kellett volna születni, hanem valami effélét:
  ī 1 2 3 4 5 6 7 ģ ķ ļ ņ š ž
  q w e r t y u i o p č ū
  a s d f g h j k l ē ā
  z x c v b n m , . -
  De egyelőre úgy gondoltam, hogy mégse. Kevesebb folyamatos lett szöveget írok PC-n (egyelőre), mint olyan magyart, amiben a lett szavak, nevek csak szórványosan fordulnak elő. A szótárhoz kifejezetten nem lett volna praktikus, ha soronként kétszer kiosztást kell váltani, akármilyen gyorsan megtörténik egyetlen gombnyomásra. Akkor már inkább a magyarra tegyük a lett betűket is, az nem csekély tornamutatvány lenne:
  ű ā ē ī ū č š ž ģ ķ ö ü ó í
  q w e r t y u i o p ő ú
  a s d f g h j k l é á
  z x c v b n m ļ ņ -
  Használtam én olyan szlovák kiosztást is, ahol a ĺ és ľ betűk a Q és W gombokon voltak, mert ott tudtam őket elhelyezni. De egyelőre mégsem lettesített magyar kiosztást csináltam, már csak azért sem, mert a cseh kedvéért további hét betűt kellett volna elhelyezni (és ha már liba, legyen molett, a szlovákhoz még azon felül ötöt), plusz hatot az eszperantóhoz, ezeket azért valamennyire mégiscsak használom. Persze ezek már lehetnének külön kiosztásokon, de ha cseh szószedetet akarok csinálni (azazhogy már van, csak most nem nyúlok hozzá), akkor mégiscsak kétnyelvű gombozat kell ahhoz is, efféle:
  ű ď ě ň ť č š ž ř ý ö ü ó í
  q ů e r t y u i o p ő ú
  a s d f g h j k l é á
  z x c v b n m , . -
  Amúgy ez se kényelmes ám, csak szólok. No, de ideje rátérnem, hogy mit csináltam ehelyett. A Best’s Board módosítógombját vettem kölcsön, azaz írtam egy programkát, aki ezt csinálja. (A módosítógomb egyébként a myKBD-ből származik, mint a Best alapelveinek nagy része.) AutoItben írtam, és egészen egyszerű. Csak a lett, cseh, szlovák és eszperantó betűket tartalmazza, és az Insert gombbal működik, amit az alapbetű után kell megnyomni, és átváltja ékezetesre; többszöri nyomásra cserélgeti az ékezetet. A készlet bővíthető, a nagybetűket nem is kell beleírni, magától kezeli. Alt-Inserttel kikapcsolható, amikor másra kell az Ins gomb.

HotKeySet('!{ins}', 'toggle')
Global $list
$list = 'aāä cčĉ dď eēě gģĝ hĥ iī jĵ kķ lļľĺ oô nņň rřŕ sšŝ tť uūŭů yý zž'
Global $toggle = False
toggle()
$list = StringSplit($list, ' ', 2)
 
While True
	Sleep(1000)
WEnd
 
Func modifier()
	Send('+{left}+{del}')
	$char = ClipGet()
	$upper = False
	If AscW(StringUpper($char)) <> AscW($char) Then $upper = True
	For $string In $list
		$i = StringInStr($string, $char)
		If $i Then
			$i = $i + 1
			If $i > StringLen($string) Then $i = 1
			$char = StringMid($string, $i, 1)
			ExitLoop
		EndIf
	Next
	If Not $upper Then $char = StringUpper($char)
	ClipPut($char)
	Send('+{ins}')
EndFunc   ;==>modifier
Func toggle()
	If $toggle Then
		HotKeySet('{ins}')
	Else
		HotKeySet('{ins}', 'modifier')
	EndIf
	$toggle = Not $toggle
	TraySetIcon('modifier_' & $toggle & '.ico')
EndFunc   ;==>toggle

Két ikont is csináltam hozzá:
  modifier_true.ico
  modifier_false.ico

»»»»»»