rpms/fbterm/F-10 fbterm-1.4-iminput.patch, NONE, 1.1 .cvsignore, 1.4, 1.5 fbterm.spec, 1.5, 1.6 import.log, 1.5, 1.6 sources, 1.4, 1.5 fbterm-1.3-setcap.patch, 1.1, NONE

Ding-Yi Chen dchen at fedoraproject.org
Mon Mar 23 05:13:03 UTC 2009


Author: dchen

Update of /cvs/pkgs/rpms/fbterm/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv4757/F-10

Modified Files:
	.cvsignore fbterm.spec import.log sources 
Added Files:
	fbterm-1.4-iminput.patch 
Removed Files:
	fbterm-1.3-setcap.patch 
Log Message:
Upstream update

fbterm-1.4-iminput.patch:

--- NEW FILE fbterm-1.4-iminput.patch ---
diff -up ./src/input.cpp.iminput ./src/input.cpp
--- ./src/input.cpp.iminput	2009-03-14 12:07:59.000000000 +1000
+++ ./src/input.cpp	2009-03-23 13:52:04.000000000 +1000
@@ -183,30 +183,31 @@ void TtyInput::readyRead(s8 *buf, u32 le
 	if (len > start) PUT_KEYS(buf + start, len - start);
 }
 
-typedef enum {
-	ALT_L = 1 << 0, ALT_R = 1 << 1,
-	CTRL_L = 1 << 2, CTRL_R = 1 << 3,
-	SHIFT_L = 1 << 4, SHIFT_R = 1 << 5,
-} ModifierType;
-
-static u16 modState;
+static bool keyDown[NR_KEYS];
+static u32 downNum;
 
 void TtyInput::switchIm(bool enter, bool raw)
 {
-	modState = 0;
 	mImEnable = enter;
 	mRawMode = (enter && raw);
 
 	ioctl(STDIN_FILENO, KDSKBMODE, mRawMode ? K_MEDIUMRAW : K_UNICODE);
 	setupSysKey(mRawMode);
+
+	if (mRawMode) {
+		downNum = 0;
+		memset(keyDown, 0, sizeof(bool) * NR_KEYS);
+	}
 }
 
 void TtyInput::processRawKeys(s8 *buf, u32 len)
 {
+	u32 start = 0;
 	for (u32 i = 0; i < len; i++) {
 		bool down = !(buf[i] & 0x80);
 		u16 code = buf[i] & 0x7f;
-
+		u32 orig = i;
+		
 		if (!code) {
 			if (i + 2 >= len) break;
 
@@ -214,48 +215,29 @@ void TtyInput::processRawKeys(s8 *buf, u
 			code |= buf[++i] & 0x7f;
 			if (!(buf[i] & 0x80) || !(buf[i - 1] & 0x80)) continue;
 		}
+		if (code >= NR_KEYS) continue;
 
-		u16 mod = 0;
-		switch (code) {
-		case KEY_LEFTALT:
-			mod = ALT_L;
-			break;
-
-		case KEY_RIGHTALT:
-			mod = ALT_R;
-			break;
-
-		case KEY_LEFTCTRL:
-			mod = CTRL_L;
-			break;
-
-		case KEY_RIGHTCTRL:
-			mod = CTRL_R;
-			break;
-
-		case KEY_LEFTSHIFT:
-			mod = SHIFT_L;
-			break;
-
-		case KEY_RIGHTSHIFT:
-			mod = SHIFT_R;
-			break;
-
-		default:
-			break;
+		if (down ^ keyDown[code]) {
+			keyDown[code] = down;
+			
+			if (down) downNum++;
+			else downNum--;
+		} else if (!down) {
+			if (orig > start) ImProxy::instance()->sendKey(buf + start, orig - start);
+			start = i + 1;
 		}
 
-		if (mod) {
-			if (down) modState |= mod;
-			else modState &= ~mod;
-		} else if (down) {
-			u16 ctrl = (CTRL_L | CTRL_R);
-			if ((modState & ctrl) && !(modState & ~ctrl) && code == KEY_SPACE) {
-				FbTerm::instance()->processSysKey(CTRL_SPACE);
-				return;
-			}
+		if (down && code == KEY_SPACE && downNum == 2 && (keyDown[KEY_LEFTCTRL] || keyDown[KEY_RIGHTCTRL])) {
+			if (orig > start) ImProxy::instance()->sendKey(buf + start, orig - start);
+			
+			s8 ctrl = 0x80 | (keyDown[KEY_LEFTCTRL] ? KEY_LEFTCTRL : KEY_RIGHTCTRL);
+			ImProxy::instance()->sendKey(&ctrl, 1);
+ 
+			FbTerm::instance()->processSysKey(CTRL_SPACE);
+			return;
 		}
 	}
 
 	ImProxy::instance()->sendKey(buf, len);
+	if (len > start) ImProxy::instance()->sendKey(buf + start, len - start);	
 }


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/fbterm/F-10/.cvsignore,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- .cvsignore	5 Jan 2009 01:44:57 -0000	1.4
+++ .cvsignore	23 Mar 2009 05:12:32 -0000	1.5
@@ -1 +1 @@
-fbterm-1.3.tar.gz
+fbterm-1.4.tar.gz


Index: fbterm.spec
===================================================================
RCS file: /cvs/pkgs/rpms/fbterm/F-10/fbterm.spec,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- fbterm.spec	6 Jan 2009 02:22:39 -0000	1.5
+++ fbterm.spec	23 Mar 2009 05:12:32 -0000	1.6
@@ -1,12 +1,13 @@
 Name:       fbterm
-Version:    1.3
+Version:    1.4
 Release:    1%{?dist}
 License:    GPLv2+
 Group:      Applications/System
 URL:        http://code.google.com/p/fbterm/
 Source0:    http://fbterm.googlecode.com/files/%{name}-%{version}.tar.gz
 #Patch0:     %{name}-1.2-kernel-header.patch
-Patch1:     %{name}-%{version}-setcap.patch
+#Patch1:     %{name}-1.3-setcap.patch
+Patch2:	    %{name}-%{version}-iminput.patch
 Summary:    A frame buffer terminal emulator
 Summary(zh_CN): 运行在帧缓冲的快速终端仿真器
 Summary(zh_TW): 運行在Framebuffer的快速終端模擬機
@@ -37,7 +38,8 @@
 %prep
 %setup -q
 #%patch0 -p0 -b .kernel-header
-%patch1 -p0 -b .setcap
+#%patch1 -p0 -b .setcap
+%patch2 -p0 -b .iminput
 
 %build
 %configure --disable-static --disable-rpath
@@ -70,6 +72,19 @@
 
 
 %changelog
+* Mon Mar 23 2009 Ding-Yi Chen <dchen at redhat dot com> - 1.4-1
+- Upstream update:
+  1. improved text rendering performence 
+  2. added private escape sequences for 256 color mode support 
+  3. added a option "font-width" to adjust character cell width 
+  4. added support for older 2.2/2.4 kernel 
+  5. fixed a crash bug with bitmap fonts 
+  6. fixed a configure failure in cross-compiling environment
+- Note: iminput.patch is applied.
+
+* Tue Feb 24 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+  
 * Tue Jan 06 2009 Ding-Yi Chen <dchen at redhat dot com> - 1.3-1
 - SUID fbterm for el5, as it does not have libcap.
 


Index: import.log
===================================================================
RCS file: /cvs/pkgs/rpms/fbterm/F-10/import.log,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- import.log	6 Jan 2009 02:22:39 -0000	1.5
+++ import.log	23 Mar 2009 05:12:32 -0000	1.6
@@ -3,3 +3,4 @@
 fbterm-1_2-2_fc10:F-10:fbterm-1.2-2.fc10.src.rpm:1228960163
 fbterm-1_3-0_fc10:F-10:fbterm-1.3-0.fc10.src.rpm:1231119864
 fbterm-1_3-1_fc10:F-10:fbterm-1.3-1.fc10.src.rpm:1231208373
+fbterm-1_4-1_fc10:F-10:fbterm-1.4-1.fc10.src.rpm:1237784391


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/fbterm/F-10/sources,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- sources	5 Jan 2009 01:44:57 -0000	1.4
+++ sources	23 Mar 2009 05:12:32 -0000	1.5
@@ -1 +1 @@
-12f52f60390576866ce9f7696779050d  fbterm-1.3.tar.gz
+58543d0e630bc9bfd7cda93b5e844564  fbterm-1.4.tar.gz


--- fbterm-1.3-setcap.patch DELETED ---




More information about the fedora-extras-commits mailing list