Subversion Repositories Kolibri OS

Rev

Rev 4309 | Rev 5207 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4309 Rev 4516
Line 33... Line 33...
33
unsigned cmdLen = 0;
33
unsigned cmdLen = 0;
34
unsigned cmdPos = 0;
34
unsigned cmdPos = 0;
35
CMD[0] = '\0';
35
CMD[0] = '\0';
36
 
36
 
Line -... Line 37...
-
 
37
int clipNum; // number of clipboard slots
-
 
38
char* clipBuf; // clipboard buffer
-
 
39
char clipCopy[255+12];
-
 
40
 
37
for (;;)
41
for (;;)
38
	{
42
	{
39
	key = getch();
43
	key = getch();
40
	if ( 0 != (key & 0xff) )
44
	if ( 0 != (key & 0xff) )
41
		{
45
		{
Line 85... Line 89...
85
			case 9: // TAB
89
			case 9: // TAB
86
				break;
90
				break;
Line -... Line 91...
-
 
91
				
-
 
92
				
-
 
93
			case 22: // Ctrl+V
-
 
94
				clipNum = kol_clip_num();
-
 
95
				if (clipNum > 0)
-
 
96
					{
-
 
97
					clipBuf = kol_clip_get(clipNum-1);
-
 
98
//					printf("Length: %d, Type: %d, Encoding: %d\n", (int) *clipBuf, (int)*(clipBuf+4), (int)*(clipBuf+8));
-
 
99
					if ( (int) *clipBuf > 0 ) // is clipboard empty?
-
 
100
						{
-
 
101
						if ((int)*(clipBuf+4)==0) // text?
-
 
102
							{
-
 
103
							if ((int)*(clipBuf+8)==1) // 866 encoding?
-
 
104
 
-
 
105
                                for (i = cmdPos; i < cmdLen; i++)
-
 
106
                                    printf(" ");
-
 
107
                                for (i = cmdLen; i > 0; i--)
-
 
108
                                    printf("%c %c", 8, 8);
-
 
109
                                cmdLen = 0;
-
 
110
                                cmdPos = 0;
-
 
111
                                CMD[0] = '\0';
-
 
112
 
-
 
113
								// strcpy_n
-
 
114
								for (i = 0; i < 255; i++)
-
 
115
									{
-
 
116
									CMD[i]=*(clipBuf+12+i);
-
 
117
									if (CMD[i]=='\0')
-
 
118
										break;
-
 
119
									}
-
 
120
								
-
 
121
								cmdPos = cmdLen = strlen(CMD);
-
 
122
/*								
-
 
123
								printf("Length: %d\n", cmdLen);
-
 
124
								for (i = 0; i < cmdLen; i++)
-
 
125
									printf("%d ", CMD[i]);
-
 
126
*/
-
 
127
								printf("%s", CMD);
-
 
128
 
-
 
129
								}
-
 
130
						}
-
 
131
					}
-
 
132
				break;
-
 
133
 
-
 
134
				
-
 
135
			case 3: // Ctrl+C
-
 
136
				if ( cmdLen > 0 )
-
 
137
					{
-
 
138
					
-
 
139
					*clipCopy = 12 + cmdLen;
-
 
140
					*(clipCopy+4)=0;
-
 
141
					*(clipCopy+8)=1;
-
 
142
					
-
 
143
					for (i = 0; i <= cmdLen; i++)
-
 
144
						*(clipCopy+12+i) = CMD[i];
-
 
145
						
-
 
146
					kol_clip_set(12+cmdLen, clipCopy);
-
 
147
					
-
 
148
					}
-
 
149
				break;				
87
 
150
				
88
 
151
				
89
			default:
152
			default:
90
				if (cmdLen < 255)
153
				if (cmdLen < 255)
91
					{
154
					{