Added keyboard, alternate drawing, realize and getwindow interfaces.
diff --git a/Lib/lib-stdwin/Split.py b/Lib/lib-stdwin/Split.py
index 63f5d5f..ef0f2fc 100644
--- a/Lib/lib-stdwin/Split.py
+++ b/Lib/lib-stdwin/Split.py
@@ -18,7 +18,9 @@
 		self.parent = parent
 		self.children = []
 		self.mouse_interest = []
+		self.keybd_interest = []
 		self.timer_interest = []
+		self.altdraw_interest = []
 		self.mouse_focus = 0
 		return self
 	#
@@ -30,18 +32,28 @@
 			child.destroy()
 		del self.children[:]
 		del self.mouse_interest[:]
+		del self.keybd_interest[:]
 		del self.timer_interest[:]
+		del self.altdraw_interest[:]
 		self.mouse_focus = None
 	#
-	def minsize(self, m): return unimpl()
+	def minsize(self, m): return unimpl()	# Should ask children
 	def getbounds(self): return unimpl()
-	def setbounds(self, bounds): unimpl()
+	def setbounds(self, bounds): unimpl()	# Should tell children
+	#
+	def realize(self):
+		for child in self.children:
+			child.realize()
 	#
 	def draw(self, d_detail):
 		# (Could avoid calls to children outside the area)
 		for child in self.children:
 			child.draw(d_detail)
 	#
+	def altdraw(self, detail):
+		for child in self.altdraw_interest:
+			child.altdraw(detail)
+	#
 	# Downcalls only made after certain upcalls
 	#
 	def mouse_down(self, detail):
@@ -60,6 +72,10 @@
 			self.mouse_focus.mouse_up(detail)
 			self.mouse_focus = 0
 	#
+	def keybd(self, type_detail):
+		for child in self.keybd_interest:
+			child.keybd(type_detail)
+	#
 	def timer(self):
 		for child in self.timer_interest:
 			child.timer()
@@ -76,8 +92,12 @@
 		remove(child, self.children)
 		if child in self.mouse_interest:
 			remove(child, self.mouse_interest)
+		if child in self.keybd_interest:
+			remove(child, self.keybd_interest)
 		if child in self.timer_interest:
 			remove(child, self.timer_interest)
+		if child in self.altdraw_interest:
+			remove(child, self.altdraw_interest)
 		if child = self.mouse_focus:
 			self.mouse_focus = 0
 	#
@@ -91,6 +111,16 @@
 			if not self.mouse_interest:
 				self.parent.no_mouse(self)
 	#
+	def need_keybd(self, child):
+		if child not in self.keybd_interest:
+			self.keybd_interest.append(child)
+			self.parent.need_keybd(self)
+	def no_keybd(self, child):
+		if child in self.keybd_interest:
+			remove(child, self.keybd_interest)
+			if not self.keybd_interest:
+				self.parent.no_keybd(self)
+	#
 	def need_timer(self, child):
 		if child not in self.timer_interest:
 			self.timer_interest.append(child)
@@ -101,12 +131,24 @@
 			if not self.timer_interest:
 				self.parent.no_timer(self)
 	#
+	def need_altdraw(self, child):
+		if child not in self.altdraw_interest:
+			self.altdraw_interest.append(child)
+			self.parent.need_altdraw(self)
+	def no_altdraw(self, child):
+		if child in self.altdraw_interest:
+			remove(child, self.altdraw_interest)
+			if not self.altdraw_interest:
+				self.parent.no_altdraw(self)
+	#
 	# The rest are transparent:
 	#
 	def begindrawing(self):
 		return self.parent.begindrawing()
 	def beginmeasuring(self):
 		return self.parent.beginmeasuring()
+	def getwindow(self):
+		return self.parent.getwindow()
 	#
 	def change(self, area):
 		self.parent.change(area)