diff options
Diffstat (limited to 'x11vnc')
-rw-r--r-- | x11vnc/ChangeLog | 3 | ||||
-rw-r--r-- | x11vnc/README | 1211 | ||||
-rw-r--r-- | x11vnc/help.c | 63 | ||||
-rw-r--r-- | x11vnc/keyboard.c | 14 | ||||
-rw-r--r-- | x11vnc/remote.c | 22 | ||||
-rwxr-xr-x | x11vnc/tkx11vnc | 1 | ||||
-rw-r--r-- | x11vnc/tkx11vnc.h | 1 | ||||
-rw-r--r-- | x11vnc/uinput.c | 316 | ||||
-rw-r--r-- | x11vnc/uinput.h | 4 | ||||
-rw-r--r-- | x11vnc/x11vnc.1 | 65 | ||||
-rw-r--r-- | x11vnc/x11vnc.c | 2 | ||||
-rw-r--r-- | x11vnc/x11vnc_defs.c | 2 |
12 files changed, 990 insertions, 714 deletions
diff --git a/x11vnc/ChangeLog b/x11vnc/ChangeLog index 7c098bc..b17ba94 100644 --- a/x11vnc/ChangeLog +++ b/x11vnc/ChangeLog @@ -1,3 +1,6 @@ +2006-07-11 Karl Runge <runge@karlrunge.com> + * x11vnc: more tweaks to UINPUT, mostly mouse motion. + 2006-07-08 Karl Runge <runge@karlrunge.com> * x11vnc: add uinput support (-pipeinput UINPUT:...) for full mouse and key input to linux console (e.g. for qt-embedded apps) diff --git a/x11vnc/README b/x11vnc/README index 595ff4c..f0fcb5d 100644 --- a/x11vnc/README +++ b/x11vnc/README @@ -1,5 +1,5 @@ -x11vnc README file Date: Sun Jul 9 21:41:44 EDT 2006 +x11vnc README file Date: Tue Jul 11 13:47:01 EDT 2006 The following information is taken from these URLs: @@ -5588,231 +5588,231 @@ or: References - 1. http://karl.runges.net/x11vnc/index.html#faq - 2. http://karl.runges.net/x11vnc/index.html#downloading - 3. http://karl.runges.net/x11vnc/index.html#building - 4. http://karl.runges.net/x11vnc/index.html#beta-test - 5. http://karl.runges.net/x11vnc/index.html#faq-thanks - 6. http://karl.runges.net/x11vnc/index.html#faq-thanks - 7. http://karl.runges.net/x11vnc/index.html#faq-ssl-tunnel-int - 8. http://karl.runges.net/x11vnc/index.html#faq-userlogin - 9. http://karl.runges.net/x11vnc/index.html#faq-scaling - 10. http://karl.runges.net/x11vnc/index.html#faq-ssl-tunnel-viewers - 11. http://karl.runges.net/x11vnc/index.html#faq-filexfer - 12. http://karl.runges.net/x11vnc/index.html#faq-video - 13. http://karl.runges.net/x11vnc/index.html#faq - 14. http://karl.runges.net/x11vnc/disclaimer.html - 15. http://karl.runges.net/x11vnc/index.html#contact + 1. http://www.karlrunge.com/x11vnc/index.html#faq + 2. http://www.karlrunge.com/x11vnc/index.html#downloading + 3. http://www.karlrunge.com/x11vnc/index.html#building + 4. http://www.karlrunge.com/x11vnc/index.html#beta-test + 5. http://www.karlrunge.com/x11vnc/index.html#faq-thanks + 6. http://www.karlrunge.com/x11vnc/index.html#faq-thanks + 7. http://www.karlrunge.com/x11vnc/index.html#faq-ssl-tunnel-int + 8. http://www.karlrunge.com/x11vnc/index.html#faq-userlogin + 9. http://www.karlrunge.com/x11vnc/index.html#faq-scaling + 10. http://www.karlrunge.com/x11vnc/index.html#faq-ssl-tunnel-viewers + 11. http://www.karlrunge.com/x11vnc/index.html#faq-filexfer + 12. http://www.karlrunge.com/x11vnc/index.html#faq-video + 13. http://www.karlrunge.com/x11vnc/index.html#faq + 14. http://www.karlrunge.com/x11vnc/disclaimer.html + 15. http://www.karlrunge.com/x11vnc/index.html#contact 16. http://www.realvnc.com/ 17. http://www.tightvnc.com/ 18. http://www.ultravnc.com/ 19. http://www.redstonesoftware.com/vnc.html - 20. http://karl.runges.net/x11vnc/index.html#downloading + 20. http://www.karlrunge.com/x11vnc/index.html#downloading 21. http://www.tightvnc.com/download.html - 22. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-auth - 23. http://karl.runges.net/x11vnc/index.html#faq-xperms - 24. http://karl.runges.net/x11vnc/index.html#faq-xperms - 25. http://karl.runges.net/x11vnc/index.html#faq-viewer-download + 22. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-auth + 23. http://www.karlrunge.com/x11vnc/index.html#faq-xperms + 24. http://www.karlrunge.com/x11vnc/index.html#faq-xperms + 25. http://www.karlrunge.com/x11vnc/index.html#faq-viewer-download 26. http://www.sun.com/software/solaris/freeware/ - 27. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-forever - 28. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-forever - 29. http://karl.runges.net/x11vnc/index.html#faq-service - 30. http://karl.runges.net/x11vnc/index.html#faq-passwd - 31. http://karl.runges.net/x11vnc/index.html#vnc_password_file - 32. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-connect - 33. http://karl.runges.net/x11vnc/index.html#vnc_password_file - 34. http://karl.runges.net/x11vnc/index.html#faq-inetd - 35. http://karl.runges.net/x11vnc/index.html#tightvnc_via - 36. http://karl.runges.net/x11vnc/chainingssh.html - 37. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-bg - 38. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-connect - 39. http://karl.runges.net/x11vnc/index.html#faq-inetd - 40. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-rfbauth - 41. http://karl.runges.net/x11vnc/index.html#faq-passwd - 42. http://karl.runges.net/x11vnc/index.html#faq-passwdfile - 43. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-passwdfile - 44. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-usepw - 45. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-ssl - 46. http://karl.runges.net/x11vnc/index.html#faq-allow-opt - 47. http://karl.runges.net/x11vnc/index.html#faq-tcp_wrappers + 27. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-forever + 28. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-forever + 29. http://www.karlrunge.com/x11vnc/index.html#faq-service + 30. http://www.karlrunge.com/x11vnc/index.html#faq-passwd + 31. http://www.karlrunge.com/x11vnc/index.html#vnc_password_file + 32. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-connect + 33. http://www.karlrunge.com/x11vnc/index.html#vnc_password_file + 34. http://www.karlrunge.com/x11vnc/index.html#faq-inetd + 35. http://www.karlrunge.com/x11vnc/index.html#tightvnc_via + 36. http://www.karlrunge.com/x11vnc/chainingssh.html + 37. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-bg + 38. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-connect + 39. http://www.karlrunge.com/x11vnc/index.html#faq-inetd + 40. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-rfbauth + 41. http://www.karlrunge.com/x11vnc/index.html#faq-passwd + 42. http://www.karlrunge.com/x11vnc/index.html#faq-passwdfile + 43. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-passwdfile + 44. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-usepw + 45. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-ssl + 46. http://www.karlrunge.com/x11vnc/index.html#faq-allow-opt + 47. http://www.karlrunge.com/x11vnc/index.html#faq-tcp_wrappers 48. http://www.stunnel.org/ - 49. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-ssl - 50. http://karl.runges.net/x11vnc/index.html#faq-ssl-tunnel-int + 49. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-ssl + 50. http://www.karlrunge.com/x11vnc/index.html#faq-ssl-tunnel-int 51. http://sourceforge.net/projects/libvncserver/ 52. http://sourceforge.net/project/showfiles.php?group_id=32584&package_id=119006&release_id=422738 53. http://sourceforge.net/project/shownotes.php?release_id=422738&group_id=32584 54. http://www.karlrunge.com/x11vnc/x11vnc-0.8.2.tar.gz - 55. http://karl.runges.net/x11vnc/index.html#faq-binaries + 55. http://www.karlrunge.com/x11vnc/index.html#faq-binaries 56. http://www.tightvnc.com/download.html 57. http://www.realvnc.com/download-free.html 58. http://sourceforge.net/projects/cotvnc/ 59. http://www.ultravnc.com/ - 60. http://karl.runges.net/x11vnc/rx11vnc - 61. http://karl.runges.net/x11vnc/rx11vnc.pl + 60. http://www.karlrunge.com/x11vnc/rx11vnc + 61. http://www.karlrunge.com/x11vnc/rx11vnc.pl 62. http://www.sunfreeware.com/ - 63. http://karl.runges.net/x11vnc/bins - 64. http://karl.runges.net/x11vnc/index.html#solarisbuilding - 65. http://karl.runges.net/x11vnc/miscbuild.html + 63. http://www.karlrunge.com/x11vnc/bins + 64. http://www.karlrunge.com/x11vnc/index.html#solarisbuilding + 65. http://www.karlrunge.com/x11vnc/miscbuild.html 66. ftp://ftp.uu.net/graphics/jpeg/ 67. http://www.gzip.org/zlib/ 68. http://www.sunfreeware.com/ - 69. http://karl.runges.net/x11vnc/index.html#faq-solaris251build - 70. http://karl.runges.net/x11vnc/x11vnc-0.8.2.tar.gz - 71. http://karl.runges.net/x11vnc/bins + 69. http://www.karlrunge.com/x11vnc/index.html#faq-solaris251build + 70. http://www.karlrunge.com/x11vnc/x11vnc-0.8.2.tar.gz + 71. http://www.karlrunge.com/x11vnc/bins 72. mailto:x11vnc-beta@karlrunge.com - 73. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-rawfb - 74. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-rawfb - 75. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-24to32 - 76. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-usepw - 77. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-noclipboard - 78. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-nosetclipboard - 79. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-capslock - 80. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-skip_lockkeys - 81. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-fbpm - 82. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-xinerama - 83. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-ssl + 73. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-rawfb + 74. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-rawfb + 75. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-24to32 + 76. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-usepw + 77. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-noclipboard + 78. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-nosetclipboard + 79. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-capslock + 80. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-skip_lockkeys + 81. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-fbpm + 82. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-xinerama + 83. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-ssl 84. http://www.openssl.org/ - 85. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-stunnel + 85. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-stunnel 86. http://www.stunnel.org/ - 87. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-sslverify - 88. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-https - 89. http://karl.runges.net/x11vnc/index.html#ssl_vncviewer - 90. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-unixpw - 91. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-unixpw_nis - 92. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-ssl - 93. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-localhost - 94. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-stunnel - 95. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-display_WAIT - 96. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-display - 97. http://karl.runges.net/x11vnc/index.html#faq-userlogin - 98. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-rawfb - 99. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-pipeinput - 100. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-grabkdb - 101. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-grabptr - 102. http://karl.runges.net/x11vnc/prevrels.html - 103. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-solid + 87. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-sslverify + 88. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-https + 89. http://www.karlrunge.com/x11vnc/index.html#ssl_vncviewer + 90. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-unixpw + 91. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-unixpw_nis + 92. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-ssl + 93. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-localhost + 94. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-stunnel + 95. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-display_WAIT + 96. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-display + 97. http://www.karlrunge.com/x11vnc/index.html#faq-userlogin + 98. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-rawfb + 99. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-pipeinput + 100. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-grabkdb + 101. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-grabptr + 102. http://www.karlrunge.com/x11vnc/prevrels.html + 103. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-solid 104. http://www.tightvnc.com/ - 105. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-rfbport - 106. http://karl.runges.net/x11vnc/x11vnc_opts.html - 107. http://karl.runges.net/x11vnc/index.html#faq-passwd - 108. http://karl.runges.net/x11vnc/recurse_x11vnc.jpg + 105. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-rfbport + 106. http://www.karlrunge.com/x11vnc/x11vnc_opts.html + 107. http://www.karlrunge.com/x11vnc/index.html#faq-passwd + 108. http://www.karlrunge.com/x11vnc/recurse_x11vnc.jpg 109. http://wwws.sun.com/sunray/index.html - 110. http://karl.runges.net/x11vnc/sunray.html - 111. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-scrollcopyrect - 112. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-wireframe - 113. http://karl.runges.net/x11vnc/index.html#faq-xvfb - 114. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-cursor - 115. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-overlay - 116. http://karl.runges.net/x11vnc/index.html#faq-sound - 117. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-scrollcopyrect + 110. http://www.karlrunge.com/x11vnc/sunray.html + 111. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-scrollcopyrect + 112. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-wireframe + 113. http://www.karlrunge.com/x11vnc/index.html#faq-xvfb + 114. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-cursor + 115. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-overlay + 116. http://www.karlrunge.com/x11vnc/index.html#faq-sound + 117. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-scrollcopyrect 118. mailto:xvml@karlrunge.com - 119. http://karl.runges.net/x11vnc/index.html#faq-thanks - 120. http://karl.runges.net/x11vnc/index.html#faq-xperms - 121. http://karl.runges.net/x11vnc/index.html#faq-build - 122. http://karl.runges.net/x11vnc/index.html#faq-missing-xtest - 123. http://karl.runges.net/x11vnc/index.html#faq-solaris251build - 124. http://karl.runges.net/x11vnc/index.html#faq-binaries - 125. http://karl.runges.net/x11vnc/index.html#faq-viewer-download - 126. http://karl.runges.net/x11vnc/index.html#faq-cmdline-opts - 127. http://karl.runges.net/x11vnc/index.html#faq-config-file - 128. http://karl.runges.net/x11vnc/index.html#faq-gui-tray - 129. http://karl.runges.net/x11vnc/index.html#faq-quiet-bg - 130. http://karl.runges.net/x11vnc/index.html#faq-sigpipe - 131. http://karl.runges.net/x11vnc/index.html#faq-build-customizations - 132. http://karl.runges.net/x11vnc/index.html#faq-win2vnc - 133. http://karl.runges.net/x11vnc/index.html#faq-win2vnc-8bpp - 134. http://karl.runges.net/x11vnc/index.html#faq-8bpp - 135. http://karl.runges.net/x11vnc/index.html#faq-overlays - 136. http://karl.runges.net/x11vnc/index.html#faq-windowid - 137. http://karl.runges.net/x11vnc/index.html#faq-transients-id - 138. http://karl.runges.net/x11vnc/index.html#faq-24bpp - 139. http://karl.runges.net/x11vnc/index.html#faq-noshm - 140. http://karl.runges.net/x11vnc/index.html#faq-xterminal-xauth - 141. http://karl.runges.net/x11vnc/index.html#faq-sunrays - 142. http://karl.runges.net/x11vnc/index.html#faq-stop-bg - 143. http://karl.runges.net/x11vnc/index.html#faq-remote_control - 144. http://karl.runges.net/x11vnc/index.html#faq-passwd - 145. http://karl.runges.net/x11vnc/index.html#faq-passwd-noecho - 146. http://karl.runges.net/x11vnc/index.html#faq-passwdfile - 147. http://karl.runges.net/x11vnc/index.html#faq-multipasswd - 148. http://karl.runges.net/x11vnc/index.html#faq-unix-passwords - 149. http://karl.runges.net/x11vnc/index.html#faq-forever-shared - 150. http://karl.runges.net/x11vnc/index.html#faq-allow-opt - 151. http://karl.runges.net/x11vnc/index.html#faq-tcp_wrappers - 152. http://karl.runges.net/x11vnc/index.html#faq-listen-interface - 153. http://karl.runges.net/x11vnc/index.html#faq-listen-localhost - 154. http://karl.runges.net/x11vnc/index.html#faq-input-opt - 155. http://karl.runges.net/x11vnc/index.html#faq-accept-opt - 156. http://karl.runges.net/x11vnc/index.html#faq-users-opt - 157. http://karl.runges.net/x11vnc/index.html#faq-blockdpy - 158. http://karl.runges.net/x11vnc/index.html#faq-gone-lock - 159. http://karl.runges.net/x11vnc/index.html#faq-ssh-unix - 160. http://karl.runges.net/x11vnc/index.html#faq-ssh-putty - 161. http://karl.runges.net/x11vnc/index.html#faq-ssl-tunnel-ext - 162. http://karl.runges.net/x11vnc/index.html#faq-ssl-tunnel-int - 163. http://karl.runges.net/x11vnc/index.html#faq-ssl-tunnel-viewers - 164. http://karl.runges.net/x11vnc/index.html#faq-ssl-java-viewer-proxy - 165. http://karl.runges.net/x11vnc/index.html#faq-ssl-portal - 166. http://karl.runges.net/x11vnc/index.html#faq-ssl-ca - 167. http://karl.runges.net/x11vnc/index.html#faq-service - 168. http://karl.runges.net/x11vnc/index.html#faq-display-manager - 169. http://karl.runges.net/x11vnc/index.html#faq-inetd - 170. http://karl.runges.net/x11vnc/index.html#faq-userlogin - 171. http://karl.runges.net/x11vnc/index.html#faq-loop - 172. http://karl.runges.net/x11vnc/index.html#faq-java-http - 173. http://karl.runges.net/x11vnc/index.html#faq-reverse-connect - 174. http://karl.runges.net/x11vnc/index.html#faq-xvfb - 175. http://karl.runges.net/x11vnc/index.html#faq-headless - 176. http://karl.runges.net/x11vnc/index.html#faq-solshm - 177. http://karl.runges.net/x11vnc/index.html#faq-less-resource - 178. http://karl.runges.net/x11vnc/index.html#faq-more-resource - 179. http://karl.runges.net/x11vnc/index.html#faq-slow-link - 180. http://karl.runges.net/x11vnc/index.html#faq-xdamage - 181. http://karl.runges.net/x11vnc/index.html#faq-pointer-mode - 182. http://karl.runges.net/x11vnc/index.html#faq-wireframe - 183. http://karl.runges.net/x11vnc/index.html#faq-scrollcopyrect - 184. http://karl.runges.net/x11vnc/index.html#faq-cursor-shape - 185. http://karl.runges.net/x11vnc/index.html#faq-xfixes-alpha - 186. http://karl.runges.net/x11vnc/index.html#faq-xfixes-alpha-hacks - 187. http://karl.runges.net/x11vnc/index.html#faq-cursor-arrow - 188. http://karl.runges.net/x11vnc/index.html#faq-cursor-positions - 189. http://karl.runges.net/x11vnc/index.html#faq-buttonmap-opt - 190. http://karl.runges.net/x11vnc/index.html#faq-altgr - 191. http://karl.runges.net/x11vnc/index.html#faq-greaterless - 192. http://karl.runges.net/x11vnc/index.html#faq-greaterless-sloppy - 193. http://karl.runges.net/x11vnc/index.html#faq-xkbmodtweak - 194. http://karl.runges.net/x11vnc/index.html#faq-repeated-keys - 195. http://karl.runges.net/x11vnc/index.html#faq-repeated-keys-still - 196. http://karl.runges.net/x11vnc/index.html#faq-remap-opt - 197. http://karl.runges.net/x11vnc/index.html#faq-sun-alt-meta - 198. http://karl.runges.net/x11vnc/index.html#faq-remap-button-click - 199. http://karl.runges.net/x11vnc/index.html#faq-remap-capslock - 200. http://karl.runges.net/x11vnc/index.html#faq-scrollbars - 201. http://karl.runges.net/x11vnc/index.html#faq-scaling - 202. http://karl.runges.net/x11vnc/index.html#faq-xinerama - 203. http://karl.runges.net/x11vnc/index.html#faq-multi-screen - 204. http://karl.runges.net/x11vnc/index.html#faq-clip-screen - 205. http://karl.runges.net/x11vnc/index.html#faq-xrandr - 206. http://karl.runges.net/x11vnc/index.html#faq-black-screen - 207. http://karl.runges.net/x11vnc/index.html#faq-linuxvc - 208. http://karl.runges.net/x11vnc/index.html#faq-vmware - 209. http://karl.runges.net/x11vnc/index.html#faq-rawfb - 210. http://karl.runges.net/x11vnc/index.html#faq-video - 211. http://karl.runges.net/x11vnc/index.html#faq-qt-embedded - 212. http://karl.runges.net/x11vnc/index.html#faq-hidden-taskbars - 213. http://karl.runges.net/x11vnc/index.html#faq-clipboard - 214. http://karl.runges.net/x11vnc/index.html#faq-filexfer - 215. http://karl.runges.net/x11vnc/index.html#faq-sound - 216. http://karl.runges.net/x11vnc/index.html#faq-beeps - 217. http://karl.runges.net/x11vnc/index.html#faq-thanks - 218. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-display - 219. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-auth - 220. http://karl.runges.net/x11vnc/index.html#faq-display-manager - 221. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-users - 222. http://karl.runges.net/x11vnc/index.html#solarisbuilding - 223. http://karl.runges.net/x11vnc/x11vnc_sunos4.html - 224. http://karl.runges.net/x11vnc/index.html#building - 225. http://karl.runges.net/x11vnc/index.html#faq-build + 119. http://www.karlrunge.com/x11vnc/index.html#faq-thanks + 120. http://www.karlrunge.com/x11vnc/index.html#faq-xperms + 121. http://www.karlrunge.com/x11vnc/index.html#faq-build + 122. http://www.karlrunge.com/x11vnc/index.html#faq-missing-xtest + 123. http://www.karlrunge.com/x11vnc/index.html#faq-solaris251build + 124. http://www.karlrunge.com/x11vnc/index.html#faq-binaries + 125. http://www.karlrunge.com/x11vnc/index.html#faq-viewer-download + 126. http://www.karlrunge.com/x11vnc/index.html#faq-cmdline-opts + 127. http://www.karlrunge.com/x11vnc/index.html#faq-config-file + 128. http://www.karlrunge.com/x11vnc/index.html#faq-gui-tray + 129. http://www.karlrunge.com/x11vnc/index.html#faq-quiet-bg + 130. http://www.karlrunge.com/x11vnc/index.html#faq-sigpipe + 131. http://www.karlrunge.com/x11vnc/index.html#faq-build-customizations + 132. http://www.karlrunge.com/x11vnc/index.html#faq-win2vnc + 133. http://www.karlrunge.com/x11vnc/index.html#faq-win2vnc-8bpp + 134. http://www.karlrunge.com/x11vnc/index.html#faq-8bpp + 135. http://www.karlrunge.com/x11vnc/index.html#faq-overlays + 136. http://www.karlrunge.com/x11vnc/index.html#faq-windowid + 137. http://www.karlrunge.com/x11vnc/index.html#faq-transients-id + 138. http://www.karlrunge.com/x11vnc/index.html#faq-24bpp + 139. http://www.karlrunge.com/x11vnc/index.html#faq-noshm + 140. http://www.karlrunge.com/x11vnc/index.html#faq-xterminal-xauth + 141. http://www.karlrunge.com/x11vnc/index.html#faq-sunrays + 142. http://www.karlrunge.com/x11vnc/index.html#faq-stop-bg + 143. http://www.karlrunge.com/x11vnc/index.html#faq-remote_control + 144. http://www.karlrunge.com/x11vnc/index.html#faq-passwd + 145. http://www.karlrunge.com/x11vnc/index.html#faq-passwd-noecho + 146. http://www.karlrunge.com/x11vnc/index.html#faq-passwdfile + 147. http://www.karlrunge.com/x11vnc/index.html#faq-multipasswd + 148. http://www.karlrunge.com/x11vnc/index.html#faq-unix-passwords + 149. http://www.karlrunge.com/x11vnc/index.html#faq-forever-shared + 150. http://www.karlrunge.com/x11vnc/index.html#faq-allow-opt + 151. http://www.karlrunge.com/x11vnc/index.html#faq-tcp_wrappers + 152. http://www.karlrunge.com/x11vnc/index.html#faq-listen-interface + 153. http://www.karlrunge.com/x11vnc/index.html#faq-listen-localhost + 154. http://www.karlrunge.com/x11vnc/index.html#faq-input-opt + 155. http://www.karlrunge.com/x11vnc/index.html#faq-accept-opt + 156. http://www.karlrunge.com/x11vnc/index.html#faq-users-opt + 157. http://www.karlrunge.com/x11vnc/index.html#faq-blockdpy + 158. http://www.karlrunge.com/x11vnc/index.html#faq-gone-lock + 159. http://www.karlrunge.com/x11vnc/index.html#faq-ssh-unix + 160. http://www.karlrunge.com/x11vnc/index.html#faq-ssh-putty + 161. http://www.karlrunge.com/x11vnc/index.html#faq-ssl-tunnel-ext + 162. http://www.karlrunge.com/x11vnc/index.html#faq-ssl-tunnel-int + 163. http://www.karlrunge.com/x11vnc/index.html#faq-ssl-tunnel-viewers + 164. http://www.karlrunge.com/x11vnc/index.html#faq-ssl-java-viewer-proxy + 165. http://www.karlrunge.com/x11vnc/index.html#faq-ssl-portal + 166. http://www.karlrunge.com/x11vnc/index.html#faq-ssl-ca + 167. http://www.karlrunge.com/x11vnc/index.html#faq-service + 168. http://www.karlrunge.com/x11vnc/index.html#faq-display-manager + 169. http://www.karlrunge.com/x11vnc/index.html#faq-inetd + 170. http://www.karlrunge.com/x11vnc/index.html#faq-userlogin + 171. http://www.karlrunge.com/x11vnc/index.html#faq-loop + 172. http://www.karlrunge.com/x11vnc/index.html#faq-java-http + 173. http://www.karlrunge.com/x11vnc/index.html#faq-reverse-connect + 174. http://www.karlrunge.com/x11vnc/index.html#faq-xvfb + 175. http://www.karlrunge.com/x11vnc/index.html#faq-headless + 176. http://www.karlrunge.com/x11vnc/index.html#faq-solshm + 177. http://www.karlrunge.com/x11vnc/index.html#faq-less-resource + 178. http://www.karlrunge.com/x11vnc/index.html#faq-more-resource + 179. http://www.karlrunge.com/x11vnc/index.html#faq-slow-link + 180. http://www.karlrunge.com/x11vnc/index.html#faq-xdamage + 181. http://www.karlrunge.com/x11vnc/index.html#faq-pointer-mode + 182. http://www.karlrunge.com/x11vnc/index.html#faq-wireframe + 183. http://www.karlrunge.com/x11vnc/index.html#faq-scrollcopyrect + 184. http://www.karlrunge.com/x11vnc/index.html#faq-cursor-shape + 185. http://www.karlrunge.com/x11vnc/index.html#faq-xfixes-alpha + 186. http://www.karlrunge.com/x11vnc/index.html#faq-xfixes-alpha-hacks + 187. http://www.karlrunge.com/x11vnc/index.html#faq-cursor-arrow + 188. http://www.karlrunge.com/x11vnc/index.html#faq-cursor-positions + 189. http://www.karlrunge.com/x11vnc/index.html#faq-buttonmap-opt + 190. http://www.karlrunge.com/x11vnc/index.html#faq-altgr + 191. http://www.karlrunge.com/x11vnc/index.html#faq-greaterless + 192. http://www.karlrunge.com/x11vnc/index.html#faq-greaterless-sloppy + 193. http://www.karlrunge.com/x11vnc/index.html#faq-xkbmodtweak + 194. http://www.karlrunge.com/x11vnc/index.html#faq-repeated-keys + 195. http://www.karlrunge.com/x11vnc/index.html#faq-repeated-keys-still + 196. http://www.karlrunge.com/x11vnc/index.html#faq-remap-opt + 197. http://www.karlrunge.com/x11vnc/index.html#faq-sun-alt-meta + 198. http://www.karlrunge.com/x11vnc/index.html#faq-remap-button-click + 199. http://www.karlrunge.com/x11vnc/index.html#faq-remap-capslock + 200. http://www.karlrunge.com/x11vnc/index.html#faq-scrollbars + 201. http://www.karlrunge.com/x11vnc/index.html#faq-scaling + 202. http://www.karlrunge.com/x11vnc/index.html#faq-xinerama + 203. http://www.karlrunge.com/x11vnc/index.html#faq-multi-screen + 204. http://www.karlrunge.com/x11vnc/index.html#faq-clip-screen + 205. http://www.karlrunge.com/x11vnc/index.html#faq-xrandr + 206. http://www.karlrunge.com/x11vnc/index.html#faq-black-screen + 207. http://www.karlrunge.com/x11vnc/index.html#faq-linuxvc + 208. http://www.karlrunge.com/x11vnc/index.html#faq-vmware + 209. http://www.karlrunge.com/x11vnc/index.html#faq-rawfb + 210. http://www.karlrunge.com/x11vnc/index.html#faq-video + 211. http://www.karlrunge.com/x11vnc/index.html#faq-qt-embedded + 212. http://www.karlrunge.com/x11vnc/index.html#faq-hidden-taskbars + 213. http://www.karlrunge.com/x11vnc/index.html#faq-clipboard + 214. http://www.karlrunge.com/x11vnc/index.html#faq-filexfer + 215. http://www.karlrunge.com/x11vnc/index.html#faq-sound + 216. http://www.karlrunge.com/x11vnc/index.html#faq-beeps + 217. http://www.karlrunge.com/x11vnc/index.html#faq-thanks + 218. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-display + 219. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-auth + 220. http://www.karlrunge.com/x11vnc/index.html#faq-display-manager + 221. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-users + 222. http://www.karlrunge.com/x11vnc/index.html#solarisbuilding + 223. http://www.karlrunge.com/x11vnc/x11vnc_sunos4.html + 224. http://www.karlrunge.com/x11vnc/index.html#building + 225. http://www.karlrunge.com/x11vnc/index.html#faq-build 226. http://packages.debian.org/x11vnc 227. http://www.linuxpackages.net/search_view.php?by=name&name=x11vnc 228. http://dag.wieers.com/packages/x11vnc/ @@ -5826,19 +5826,19 @@ References 236. http://mike.saunby.net/770/x11vnc/ 237. http://www.pdaxrom.org/ipk_feed.php?menuid=11&showfeed=unstable#x11vnc 238. http://www.focv.com/ipkg/ - 239. http://karl.runges.net/x11vnc/bins + 239. http://www.karlrunge.com/x11vnc/bins 240. http://www.tightvnc.com/download.html 241. http://www.realvnc.com/download-free.html 242. http://sourceforge.net/projects/cotvnc/ 243. http://www.ultravnc.com/ - 244. http://karl.runges.net/x11vnc/x11vnc_opts.html - 245. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-gui - 246. http://karl.runges.net/x11vnc/index.html#faq-gui-tray - 247. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-q - 248. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-bg - 249. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-o - 250. http://karl.runges.net/x11vnc/index.html#solarisbuilding - 251. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-nofb + 244. http://www.karlrunge.com/x11vnc/x11vnc_opts.html + 245. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-gui + 246. http://www.karlrunge.com/x11vnc/index.html#faq-gui-tray + 247. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-q + 248. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-bg + 249. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-o + 250. http://www.karlrunge.com/x11vnc/index.html#solarisbuilding + 251. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-nofb 252. http://fredrik.hubbe.net/x2vnc.html 253. http://www.hubbe.net/~hubbe/win2vnc.html 254. http://www.deboer.gmxhome.de/ @@ -5847,339 +5847,339 @@ References 257. http://freshmeat.net/projects/x2x/ 258. http://ftp.digital.com/pub/Digital/SRC/x2x/ 259. http://zapek.com/software/zvnc/ - 260. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-visual - 261. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-flashcmap - 262. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-8to24 - 263. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-notruecolor - 264. http://karl.runges.net/x11vnc/index.html#faq-8bpp - 265. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-overlay - 266. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-8to24 - 267. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-overlay - 268. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-8to24 - 269. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-flashcmap - 270. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-fixscreen - 271. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-8to24 - 272. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-id - 273. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-8to24 - 274. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-overlay - 275. http://karl.runges.net/x11vnc/index.html#faq-overlays - 276. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-id - 277. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-sid - 278. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-24to32 - 279. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-display - 280. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-noshm - 281. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-flipbyteorder - 282. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-auth - 283. http://karl.runges.net/x11vnc/index.html#xauth_pain - 284. http://karl.runges.net/x11vnc/index.html#faq-noshm + 260. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-visual + 261. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-flashcmap + 262. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-8to24 + 263. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-notruecolor + 264. http://www.karlrunge.com/x11vnc/index.html#faq-8bpp + 265. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-overlay + 266. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-8to24 + 267. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-overlay + 268. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-8to24 + 269. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-flashcmap + 270. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-fixscreen + 271. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-8to24 + 272. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-id + 273. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-8to24 + 274. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-overlay + 275. http://www.karlrunge.com/x11vnc/index.html#faq-overlays + 276. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-id + 277. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-sid + 278. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-24to32 + 279. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-display + 280. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-noshm + 281. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-flipbyteorder + 282. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-auth + 283. http://www.karlrunge.com/x11vnc/index.html#xauth_pain + 284. http://www.karlrunge.com/x11vnc/index.html#faq-noshm 285. http://wwws.sun.com/sunray/index.html - 286. http://karl.runges.net/x11vnc/sunray.html - 287. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-remote - 288. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-query - 289. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-forever - 290. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-bg - 291. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-clear_mods - 292. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-clear_keys - 293. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-remote - 294. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-query - 295. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-gui - 296. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-storepasswd - 297. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-rfbauth - 298. http://karl.runges.net/x11vnc/index.html#faq-passwdfile - 299. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-usepw - 300. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-viewpasswd - 301. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-passwd - 302. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-passwdfile - 303. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-rfbauth - 304. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-passwdfile - 305. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-unixpw - 306. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-unixpw_nis - 307. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-localhost - 308. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-stunnel - 309. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-ssl - 310. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-ssl - 311. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-localhost - 312. http://karl.runges.net/x11vnc/index.html#tunnelling - 313. http://karl.runges.net/x11vnc/index.html#faq-ssl-tunnel - 314. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-accept - 315. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-forever - 316. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-shared - 317. http://karl.runges.net/x11vnc/index.html#tunnelling - 318. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-ssl - 319. http://karl.runges.net/x11vnc/index.html#faq-passwd - 320. http://karl.runges.net/x11vnc/index.html#faq-passwdfile - 321. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-allow - 322. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-localhost - 323. http://karl.runges.net/x11vnc/index.html#faq-tcp_wrappers - 324. http://karl.runges.net/x11vnc/index.html#faq-inetd - 325. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-listen - 326. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-allow - 327. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-localhost - 328. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-allow - 329. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-localhost - 330. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-input - 331. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-accept - 332. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-viewonly + 286. http://www.karlrunge.com/x11vnc/sunray.html + 287. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-remote + 288. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-query + 289. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-forever + 290. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-bg + 291. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-clear_mods + 292. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-clear_keys + 293. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-remote + 294. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-query + 295. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-gui + 296. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-storepasswd + 297. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-rfbauth + 298. http://www.karlrunge.com/x11vnc/index.html#faq-passwdfile + 299. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-usepw + 300. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-viewpasswd + 301. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-passwd + 302. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-passwdfile + 303. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-rfbauth + 304. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-passwdfile + 305. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-unixpw + 306. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-unixpw_nis + 307. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-localhost + 308. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-stunnel + 309. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-ssl + 310. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-ssl + 311. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-localhost + 312. http://www.karlrunge.com/x11vnc/index.html#tunnelling + 313. http://www.karlrunge.com/x11vnc/index.html#faq-ssl-tunnel + 314. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-accept + 315. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-forever + 316. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-shared + 317. http://www.karlrunge.com/x11vnc/index.html#tunnelling + 318. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-ssl + 319. http://www.karlrunge.com/x11vnc/index.html#faq-passwd + 320. http://www.karlrunge.com/x11vnc/index.html#faq-passwdfile + 321. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-allow + 322. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-localhost + 323. http://www.karlrunge.com/x11vnc/index.html#faq-tcp_wrappers + 324. http://www.karlrunge.com/x11vnc/index.html#faq-inetd + 325. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-listen + 326. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-allow + 327. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-localhost + 328. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-allow + 329. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-localhost + 330. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-input + 331. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-accept + 332. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-viewonly 333. ftp://ftp.x.org/ - 334. http://karl.runges.net/x11vnc/dtVncPopup - 335. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-gone - 336. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-afteraccept - 337. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-users + 334. http://www.karlrunge.com/x11vnc/dtVncPopup + 335. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-gone + 336. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-afteraccept + 337. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-users 338. http://www.karlrunge.com/x11vnc/blockdpy.c - 339. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-accept - 340. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-gone - 341. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-gone - 342. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-afteraccept - 343. http://karl.runges.net/x11vnc/index.html#tunnelling - 344. http://karl.runges.net/x11vnc/index.html#tunnelling - 345. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-localhost - 346. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-rfbauth - 347. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-passwdfile - 348. http://karl.runges.net/x11vnc/index.html#gateway_double_ssh - 349. http://karl.runges.net/x11vnc/index.html#tunnelling - 350. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-connect + 339. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-accept + 340. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-gone + 341. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-gone + 342. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-afteraccept + 343. http://www.karlrunge.com/x11vnc/index.html#tunnelling + 344. http://www.karlrunge.com/x11vnc/index.html#tunnelling + 345. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-localhost + 346. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-rfbauth + 347. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-passwdfile + 348. http://www.karlrunge.com/x11vnc/index.html#gateway_double_ssh + 349. http://www.karlrunge.com/x11vnc/index.html#tunnelling + 350. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-connect 351. http://www.stunnel.org/ - 352. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-ssl - 353. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-stunnel - 354. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-sslverify - 355. http://karl.runges.net/x11vnc/index.html#faq-ssl-tunnel-int + 352. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-ssl + 353. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-stunnel + 354. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-sslverify + 355. http://www.karlrunge.com/x11vnc/index.html#faq-ssl-tunnel-int 356. http://www.stunnel.org/ - 357. http://karl.runges.net/x11vnc/ssl.html - 358. http://karl.runges.net/x11vnc/index.html#ssl_vncviewer - 359. http://karl.runges.net/x11vnc/ssl.html + 357. http://www.karlrunge.com/x11vnc/ssl.html + 358. http://www.karlrunge.com/x11vnc/index.html#ssl_vncviewer + 359. http://www.karlrunge.com/x11vnc/ssl.html 360. http://www.securityfocus.com/infocus/1677 - 361. http://karl.runges.net/x11vnc/ssl.html - 362. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-inetd - 363. http://karl.runges.net/x11vnc/index.html#faq-ssl-tunnel-viewers - 364. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-httpdir - 365. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-http - 366. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-ssl - 367. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-https - 368. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-stunnel - 369. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-ssl - 370. http://karl.runges.net/x11vnc/index.html#ssl_vncviewer - 371. http://karl.runges.net/x11vnc/index.html#faq-ssl-tunnel-ext - 372. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-ssl - 373. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-stunnel - 374. http://karl.runges.net/x11vnc/index.html#faq-ssl-tunnel-viewers - 375. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-ssl + 361. http://www.karlrunge.com/x11vnc/ssl.html + 362. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-inetd + 363. http://www.karlrunge.com/x11vnc/index.html#faq-ssl-tunnel-viewers + 364. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-httpdir + 365. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-http + 366. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-ssl + 367. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-https + 368. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-stunnel + 369. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-ssl + 370. http://www.karlrunge.com/x11vnc/index.html#ssl_vncviewer + 371. http://www.karlrunge.com/x11vnc/index.html#faq-ssl-tunnel-ext + 372. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-ssl + 373. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-stunnel + 374. http://www.karlrunge.com/x11vnc/index.html#faq-ssl-tunnel-viewers + 375. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-ssl 376. http://www.openssl.org/ - 377. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-stunnel + 377. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-stunnel 378. http://www.stunnel.org/ - 379. http://karl.runges.net/x11vnc/ssl.html - 380. http://karl.runges.net/x11vnc/index.html#ssl_vncviewer - 381. http://karl.runges.net/x11vnc/ssl.html - 382. http://karl.runges.net/x11vnc/index.html#faq-ssl-tunnel-viewers - 383. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-httpdir - 384. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-http - 385. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-https - 386. http://karl.runges.net/x11vnc/index.html#faq-ssl-portal - 387. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-https - 388. http://karl.runges.net/x11vnc/index.html#faq-ssl-tunnel-ext - 389. http://karl.runges.net/x11vnc/ssl_vncviewer - 390. http://karl.runges.net/x11vnc/ssl-portal.html - 391. http://karl.runges.net/x11vnc/ssl.html - 392. http://karl.runges.net/x11vnc/index.html#ssl_vncviewer - 393. http://karl.runges.net/x11vnc/index.html#faq-ssl-tunnel-viewers - 394. http://karl.runges.net/x11vnc/ssl-portal.html - 395. http://karl.runges.net/x11vnc/ssl.html - 396. http://karl.runges.net/x11vnc/index.html#display-manager-continuously - 397. http://karl.runges.net/x11vnc/index.html#faq-inetd - 398. http://karl.runges.net/x11vnc/index.html#faq-userlogin - 399. http://karl.runges.net/x11vnc/index.html#x11vnc_loop - 400. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-auth - 401. http://karl.runges.net/x11vnc/index.html#dtlogin_solaris + 379. http://www.karlrunge.com/x11vnc/ssl.html + 380. http://www.karlrunge.com/x11vnc/index.html#ssl_vncviewer + 381. http://www.karlrunge.com/x11vnc/ssl.html + 382. http://www.karlrunge.com/x11vnc/index.html#faq-ssl-tunnel-viewers + 383. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-httpdir + 384. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-http + 385. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-https + 386. http://www.karlrunge.com/x11vnc/index.html#faq-ssl-portal + 387. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-https + 388. http://www.karlrunge.com/x11vnc/index.html#faq-ssl-tunnel-ext + 389. http://www.karlrunge.com/x11vnc/ssl_vncviewer + 390. http://www.karlrunge.com/x11vnc/ssl-portal.html + 391. http://www.karlrunge.com/x11vnc/ssl.html + 392. http://www.karlrunge.com/x11vnc/index.html#ssl_vncviewer + 393. http://www.karlrunge.com/x11vnc/index.html#faq-ssl-tunnel-viewers + 394. http://www.karlrunge.com/x11vnc/ssl-portal.html + 395. http://www.karlrunge.com/x11vnc/ssl.html + 396. http://www.karlrunge.com/x11vnc/index.html#display-manager-continuously + 397. http://www.karlrunge.com/x11vnc/index.html#faq-inetd + 398. http://www.karlrunge.com/x11vnc/index.html#faq-userlogin + 399. http://www.karlrunge.com/x11vnc/index.html#x11vnc_loop + 400. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-auth + 401. http://www.karlrunge.com/x11vnc/index.html#dtlogin_solaris 402. http://www.jirka.org/gdm-documentation/x241.html - 403. http://karl.runges.net/x11vnc/x11vnc_loop - 404. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-loop - 405. http://karl.runges.net/x11vnc/index.html#faq-xterminal-xauth - 406. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-inetd - 407. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-q - 408. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-auth - 409. http://karl.runges.net/x11vnc/index.html#faq-userlogin - 410. http://karl.runges.net/x11vnc/index.html#faq-inetd - 411. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-unixpw - 412. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-display_WAIT - 413. http://karl.runges.net/x11vnc/index.html#stunnel-inetd - 414. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-display_WAIT - 415. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-unixpw - 416. http://karl.runges.net/x11vnc/index.html#faq-unix-passwords - 417. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-users - 418. http://karl.runges.net/x11vnc/index.html#faq-ssl-tunnel-int - 419. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-loop - 420. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-httpdir - 421. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-http - 422. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-connect - 423. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-remote - 424. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-vncconnect - 425. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-add_keysyms - 426. http://karl.runges.net/x11vnc/index.html#faq-linuxvc - 427. http://karl.runges.net/x11vnc/Xdummy - 428. http://karl.runges.net/x11vnc/index.html#display-manager-continuously - 429. http://karl.runges.net/x11vnc/shm_clear - 430. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-onetile - 431. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-noshm - 432. http://karl.runges.net/x11vnc/index.html#faq-noshm - 433. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-nap - 434. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-wait - 435. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-sb - 436. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-onetile - 437. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-fs - 438. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-threads - 439. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-defer - 440. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-id - 441. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-solid - 442. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-scrollcopyrect - 443. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-wireframe + 403. http://www.karlrunge.com/x11vnc/x11vnc_loop + 404. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-loop + 405. http://www.karlrunge.com/x11vnc/index.html#faq-xterminal-xauth + 406. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-inetd + 407. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-q + 408. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-auth + 409. http://www.karlrunge.com/x11vnc/index.html#faq-userlogin + 410. http://www.karlrunge.com/x11vnc/index.html#faq-inetd + 411. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-unixpw + 412. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-display_WAIT + 413. http://www.karlrunge.com/x11vnc/index.html#stunnel-inetd + 414. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-display_WAIT + 415. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-unixpw + 416. http://www.karlrunge.com/x11vnc/index.html#faq-unix-passwords + 417. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-users + 418. http://www.karlrunge.com/x11vnc/index.html#faq-ssl-tunnel-int + 419. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-loop + 420. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-httpdir + 421. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-http + 422. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-connect + 423. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-remote + 424. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-vncconnect + 425. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-add_keysyms + 426. http://www.karlrunge.com/x11vnc/index.html#faq-linuxvc + 427. http://www.karlrunge.com/x11vnc/Xdummy + 428. http://www.karlrunge.com/x11vnc/index.html#display-manager-continuously + 429. http://www.karlrunge.com/x11vnc/shm_clear + 430. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-onetile + 431. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-noshm + 432. http://www.karlrunge.com/x11vnc/index.html#faq-noshm + 433. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-nap + 434. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-wait + 435. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-sb + 436. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-onetile + 437. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-fs + 438. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-threads + 439. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-defer + 440. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-id + 441. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-solid + 442. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-scrollcopyrect + 443. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-wireframe 444. http://www.tightvnc.com/ - 445. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-wireframe - 446. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-scrollcopyrect - 447. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-solid - 448. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-speeds - 449. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-nodragging - 450. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-fs - 451. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-wait - 452. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-defer - 453. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-progressive - 454. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-id - 455. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-nosel - 456. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-nocursor - 457. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-nocursorpos - 458. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-readtimeout - 459. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-fixscreen - 460. http://karl.runges.net/x11vnc/index.html#fb_read_slow - 461. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-xd_area - 462. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-xd_mem - 463. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-noxdamage - 464. http://karl.runges.net/x11vnc/index.html#fb_read_slow - 465. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-pointer_mode - 466. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-pointer_mode - 467. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-nodragging - 468. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-pointer_mode - 469. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-threads - 470. http://karl.runges.net/x11vnc/index.html#faq-wireframe - 471. http://karl.runges.net/x11vnc/index.html#faq-scrollcopyrect - 472. http://karl.runges.net/x11vnc/index.html#faq-pointer-mode - 473. http://karl.runges.net/x11vnc/index.html#fb_read_slow - 474. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-wireframe - 475. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-wireframe - 476. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-wireframe - 477. http://karl.runges.net/x11vnc/index.html#fb_read_slow - 478. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-scrollcopyrect - 479. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-wireframe - 480. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-wirecopyrect - 481. http://karl.runges.net/x11vnc/index.html#faq-wireframe - 482. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-fixscreen - 483. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-scr_skip - 484. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-scale - 485. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-scrollcopyrect - 486. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-cursor - 487. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-cursor - 488. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-overlay - 489. http://karl.runges.net/x11vnc/index.html#the-overlay-mode - 490. http://karl.runges.net/x11vnc/index.html#solaris10-build - 491. http://karl.runges.net/x11vnc/index.html#faq-xfixes-alpha-hacks - 492. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-alphacut - 493. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-alphafrac - 494. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-alpharemove - 495. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-nocursorshape - 496. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-noalphablend + 445. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-wireframe + 446. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-scrollcopyrect + 447. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-solid + 448. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-speeds + 449. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-nodragging + 450. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-fs + 451. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-wait + 452. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-defer + 453. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-progressive + 454. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-id + 455. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-nosel + 456. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-nocursor + 457. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-nocursorpos + 458. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-readtimeout + 459. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-fixscreen + 460. http://www.karlrunge.com/x11vnc/index.html#fb_read_slow + 461. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-xd_area + 462. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-xd_mem + 463. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-noxdamage + 464. http://www.karlrunge.com/x11vnc/index.html#fb_read_slow + 465. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-pointer_mode + 466. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-pointer_mode + 467. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-nodragging + 468. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-pointer_mode + 469. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-threads + 470. http://www.karlrunge.com/x11vnc/index.html#faq-wireframe + 471. http://www.karlrunge.com/x11vnc/index.html#faq-scrollcopyrect + 472. http://www.karlrunge.com/x11vnc/index.html#faq-pointer-mode + 473. http://www.karlrunge.com/x11vnc/index.html#fb_read_slow + 474. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-wireframe + 475. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-wireframe + 476. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-wireframe + 477. http://www.karlrunge.com/x11vnc/index.html#fb_read_slow + 478. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-scrollcopyrect + 479. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-wireframe + 480. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-wirecopyrect + 481. http://www.karlrunge.com/x11vnc/index.html#faq-wireframe + 482. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-fixscreen + 483. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-scr_skip + 484. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-scale + 485. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-scrollcopyrect + 486. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-cursor + 487. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-cursor + 488. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-overlay + 489. http://www.karlrunge.com/x11vnc/index.html#the-overlay-mode + 490. http://www.karlrunge.com/x11vnc/index.html#solaris10-build + 491. http://www.karlrunge.com/x11vnc/index.html#faq-xfixes-alpha-hacks + 492. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-alphacut + 493. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-alphafrac + 494. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-alpharemove + 495. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-nocursorshape + 496. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-noalphablend 497. http://www.tightvnc.com/ - 498. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-nocursor - 499. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-cursorpos - 500. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-nocursorpos - 501. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-nocursorshape - 502. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-buttonmap - 503. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-debug_pointer - 504. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-buttonmap - 505. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-modtweak - 506. http://karl.runges.net/x11vnc/index.html#faq-greaterless - 507. http://karl.runges.net/x11vnc/index.html#faq-xkbmodtweak - 508. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-debug_keyboard - 509. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-xkb - 510. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-sloppy_keys - 511. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-modtweak - 512. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-modtweak - 513. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-remap - 514. http://karl.runges.net/x11vnc/index.html#faq-xkbmodtweak - 515. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-debug_keyboard - 516. http://karl.runges.net/x11vnc/index.html#faq-greaterless - 517. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-xkb - 518. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-sloppy_keys - 519. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-modtweak - 520. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-xkb - 521. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-xkb - 522. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-skip_keycodes - 523. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-remap - 524. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-add_keysyms - 525. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-remap - 526. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-remap - 527. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-add_keysyms - 528. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-norepeat - 529. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-norepeat - 530. http://karl.runges.net/x11vnc/index.html#faq-display-manager - 531. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-remap - 532. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-remap - 533. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-remap - 534. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-remap - 535. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-skip_lockkeys - 536. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-remap - 537. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-nomodtweak - 538. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-capslock - 539. http://karl.runges.net/x11vnc/index.html#faq-scaling - 540. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-scale + 498. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-nocursor + 499. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-cursorpos + 500. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-nocursorpos + 501. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-nocursorshape + 502. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-buttonmap + 503. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-debug_pointer + 504. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-buttonmap + 505. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-modtweak + 506. http://www.karlrunge.com/x11vnc/index.html#faq-greaterless + 507. http://www.karlrunge.com/x11vnc/index.html#faq-xkbmodtweak + 508. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-debug_keyboard + 509. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-xkb + 510. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-sloppy_keys + 511. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-modtweak + 512. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-modtweak + 513. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-remap + 514. http://www.karlrunge.com/x11vnc/index.html#faq-xkbmodtweak + 515. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-debug_keyboard + 516. http://www.karlrunge.com/x11vnc/index.html#faq-greaterless + 517. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-xkb + 518. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-sloppy_keys + 519. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-modtweak + 520. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-xkb + 521. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-xkb + 522. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-skip_keycodes + 523. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-remap + 524. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-add_keysyms + 525. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-remap + 526. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-remap + 527. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-add_keysyms + 528. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-norepeat + 529. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-norepeat + 530. http://www.karlrunge.com/x11vnc/index.html#faq-display-manager + 531. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-remap + 532. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-remap + 533. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-remap + 534. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-remap + 535. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-skip_lockkeys + 536. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-remap + 537. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-nomodtweak + 538. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-capslock + 539. http://www.karlrunge.com/x11vnc/index.html#faq-scaling + 540. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-scale 541. http://www.cus.cam.ac.uk/~ssb22/source/vnc-magnification.html - 542. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-rfbport - 543. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-gui - 544. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-connect - 545. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-scale_cursor - 546. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-blackout - 547. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-xinerama - 548. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-xinerama - 549. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-xwarppointer - 550. http://karl.runges.net/x11vnc/index.html#faq-solshm - 551. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-onetile - 552. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-noshm - 553. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-clip - 554. http://karl.runges.net/x11vnc/index.html#faq-xinerama - 555. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-id - 556. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-id - 557. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-xrandr - 558. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-padgeom - 559. http://karl.runges.net/x11vnc/index.html#faq-linuxvc - 560. http://karl.runges.net/x11vnc/index.html#faq-rawfb - 561. http://karl.runges.net/x11vnc/index.html#faq-linuxvc - 562. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-id - 563. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-rawfb - 564. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-pipeinput - 565. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-pipeinput - 566. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-snapfb - 567. http://karl.runges.net/x11vnc/index.html#faq-video - 568. http://karl.runges.net/x11vnc/index.html#faq-xvfb - 569. http://karl.runges.net/x11vnc/index.html#faq-qt-embedded - 570. http://karl.runges.net/x11vnc/index.html#faq-video - 571. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-rawfb - 572. http://karl.runges.net/x11vnc/index.html#faq-video - 573. http://karl.runges.net/x11vnc/index.html#faq-linuxvc - 574. http://karl.runges.net/x11vnc/index.html#faq-qt-embedded - 575. http://karl.runges.net/x11vnc/index.html#faq-vmware - 576. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-rawfb - 577. http://karl.runges.net/x11vnc/index.html#faq-rawfb - 578. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-snapfb - 579. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-24to32 - 580. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-wait - 581. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-slow_fb - 582. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-defer - 583. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-freqtab - 584. http://karl.runges.net/x11vnc/index.html#faq-rawfb - 585. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-pipeinput - 586. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-nosel - 587. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-noprimary - 588. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-seldir - 589. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-input - 590. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-nofilexfer - 591. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-nobell - 592. http://karl.runges.net/x11vnc/index.html#faq-sound + 542. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-rfbport + 543. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-gui + 544. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-connect + 545. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-scale_cursor + 546. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-blackout + 547. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-xinerama + 548. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-xinerama + 549. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-xwarppointer + 550. http://www.karlrunge.com/x11vnc/index.html#faq-solshm + 551. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-onetile + 552. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-noshm + 553. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-clip + 554. http://www.karlrunge.com/x11vnc/index.html#faq-xinerama + 555. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-id + 556. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-id + 557. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-xrandr + 558. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-padgeom + 559. http://www.karlrunge.com/x11vnc/index.html#faq-linuxvc + 560. http://www.karlrunge.com/x11vnc/index.html#faq-rawfb + 561. http://www.karlrunge.com/x11vnc/index.html#faq-linuxvc + 562. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-id + 563. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-rawfb + 564. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-pipeinput + 565. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-pipeinput + 566. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-snapfb + 567. http://www.karlrunge.com/x11vnc/index.html#faq-video + 568. http://www.karlrunge.com/x11vnc/index.html#faq-xvfb + 569. http://www.karlrunge.com/x11vnc/index.html#faq-qt-embedded + 570. http://www.karlrunge.com/x11vnc/index.html#faq-video + 571. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-rawfb + 572. http://www.karlrunge.com/x11vnc/index.html#faq-video + 573. http://www.karlrunge.com/x11vnc/index.html#faq-linuxvc + 574. http://www.karlrunge.com/x11vnc/index.html#faq-qt-embedded + 575. http://www.karlrunge.com/x11vnc/index.html#faq-vmware + 576. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-rawfb + 577. http://www.karlrunge.com/x11vnc/index.html#faq-rawfb + 578. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-snapfb + 579. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-24to32 + 580. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-wait + 581. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-slow_fb + 582. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-defer + 583. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-freqtab + 584. http://www.karlrunge.com/x11vnc/index.html#faq-rawfb + 585. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-pipeinput + 586. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-nosel + 587. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-noprimary + 588. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-seldir + 589. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-input + 590. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-nofilexfer + 591. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-nobell + 592. http://www.karlrunge.com/x11vnc/index.html#faq-sound ======================================================================= http://www.karlrunge.com/x11vnc/chainingssh.html: @@ -6257,7 +6257,7 @@ http://www.karlrunge.com/x11vnc/miscbuild.html: References - 1. http://karl.runges.net/x11vnc/miscbuild.html#faq-build + 1. http://www.karlrunge.com/x11vnc/miscbuild.html#faq-build ======================================================================= http://www.karlrunge.com/x11vnc/sunray.html: @@ -6499,14 +6499,14 @@ env DISPLAY=`echo $DISPLAY | sed -e 's/^.*:/unix:/'` xscreensaver & References 1. http://wwws.sun.com/sunray/index.html - 2. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-wait - 3. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-sb - 4. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-solid - 5. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-rfbport - 6. http://karl.runges.net/x11vnc/vnc_findports - 7. http://karl.runges.net/x11vnc/findvncports - 8. http://karl.runges.net/x11vnc/shm_clear - 9. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-afteraccept + 2. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-wait + 3. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-sb + 4. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-solid + 5. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-rfbport + 6. http://www.karlrunge.com/x11vnc/vnc_findports + 7. http://www.karlrunge.com/x11vnc/findvncports + 8. http://www.karlrunge.com/x11vnc/shm_clear + 9. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-afteraccept ======================================================================= http://www.karlrunge.com/x11vnc/ssl.html: @@ -6929,26 +6929,26 @@ pem References - 1. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-sslverify + 1. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-sslverify 2. http://www.stunnel.org/ - 3. http://karl.runges.net/x11vnc/index.html#faq-ssl-tunnel-ext - 4. http://karl.runges.net/x11vnc/ssl_vncviewer - 5. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-ssldir - 6. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-ssl - 7. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-sslverify - 8. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-sslverify - 9. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-sslGenCA - 10. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-sslGenCert - 11. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-sslDelCert - 12. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-sslEncKey - 13. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-sslCertInfo - 14. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-ssldir - 15. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-ssldir - 16. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-ssldir - 17. http://karl.runges.net/x11vnc/ssl_vncviewer - 18. http://karl.runges.net/x11vnc/ssl_vncviewer - 19. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-sslverify - 20. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-sslCertInfo + 3. http://www.karlrunge.com/x11vnc/index.html#faq-ssl-tunnel-ext + 4. http://www.karlrunge.com/x11vnc/ssl_vncviewer + 5. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-ssldir + 6. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-ssl + 7. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-sslverify + 8. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-sslverify + 9. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-sslGenCA + 10. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-sslGenCert + 11. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-sslDelCert + 12. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-sslEncKey + 13. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-sslCertInfo + 14. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-ssldir + 15. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-ssldir + 16. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-ssldir + 17. http://www.karlrunge.com/x11vnc/ssl_vncviewer + 18. http://www.karlrunge.com/x11vnc/ssl_vncviewer + 19. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-sslverify + 20. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-sslCertInfo 21. http://www.securityfocus.com/infocus/1677 ======================================================================= @@ -7329,20 +7329,20 @@ ProxyPass /vncs/mach4/ https://mach4:5915/ References - 1. http://karl.runges.net/x11vnc/ssl-portal.html#no-apache - 2. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-unixpw - 3. http://karl.runges.net/x11vnc/ssl-portal.html#inetd - 4. http://karl.runges.net/x11vnc/index.html#faq-ssl-java-viewer-proxy - 5. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-rfbauth - 6. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-passwdfile - 7. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-usepw - 8. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-unixpw - 9. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-sslverify - 10. http://karl.runges.net/x11vnc/index.html#ssl_vncviewer + 1. http://www.karlrunge.com/x11vnc/ssl-portal.html#no-apache + 2. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-unixpw + 3. http://www.karlrunge.com/x11vnc/ssl-portal.html#inetd + 4. http://www.karlrunge.com/x11vnc/index.html#faq-ssl-java-viewer-proxy + 5. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-rfbauth + 6. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-passwdfile + 7. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-usepw + 8. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-unixpw + 9. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-sslverify + 10. http://www.karlrunge.com/x11vnc/index.html#ssl_vncviewer 11. http://httpd.apache.org/docs/2.0/mod/mod_ssl.html - 12. http://karl.runges.net/x11vnc/ssl.html - 13. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-sslGenCert - 14. http://karl.runges.net/x11vnc/x11vnc_opts.html#opt-http_ssl + 12. http://www.karlrunge.com/x11vnc/ssl.html + 13. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-sslGenCert + 14. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-http_ssl ======================================================================= http://www.karlrunge.com/x11vnc/x11vnc_opts.html: @@ -7355,7 +7355,7 @@ x11vnc: a VNC server for real X displays Here are all of x11vnc command line options: % x11vnc -opts (see below for -help long descriptions) -x11vnc: allow VNC connections to real X11 displays. 0.8.2 lastmod: 2006-07-09 +x11vnc: allow VNC connections to real X11 displays. 0.8.2 lastmod: 2006-07-11 x11vnc options: -display disp -auth file -id windowid @@ -7453,7 +7453,7 @@ libvncserver-tight-extension options: % x11vnc -help -x11vnc: allow VNC connections to real X11 displays. 0.8.2 lastmod: 2006-07-09 +x11vnc: allow VNC connections to real X11 displays. 0.8.2 lastmod: 2006-07-11 (type "x11vnc -opts" to just list the options.) @@ -9952,16 +9952,17 @@ Options: active VT, to indicate one explicitly, use "cons2", etc. using the VT number. - If the Linux version seems to be 2.6 or later and the - "uinput" module appears to be present, then the uinput - method will be used instead of /dev/ttyN. uinput allows - insertion of BOTH keystrokes and mouse input and so it - preferred when accessing graphical (e.g. QT-embedded) - linux console apps. See -pipeinput UINPUT below - for more information on this mode (you may want to - also use the -nodragging and -cursor none options). - Use "cons0", etc or -pipeinput CONS to force the - /dev/ttyN method. + If the Linux version seems to be 2.6 or later and + the "uinput" module appears to be present, then + the uinput method will be used instead of /dev/ttyN. + uinput allows insertion of BOTH keystrokes and mouse + input and so it preferred when accessing graphical + (e.g. QT-embedded) linux console apps. See -pipeinput + UINPUT below for more information on this mode; you + will have to use -pipeinput if you want to tweak any + UINPUT parameters. You may also want to also use the + -nodragging and -cursor none options. Use "cons0", + etc or -pipeinput CONS to force the /dev/ttyN method. Note you can change VT remotely using the chvt(1) command. Sometimes switching out and back corrects @@ -10015,7 +10016,7 @@ Options: value is stored in X11VNC_RAWFB_STR for the pipe command to use if it wants. Do 'env | grep X11VNC' for more. - Built-in pipeinput modes: + Built-in pipeinput modes (no external program required): If cmd is "VID" and you are using the -rawfb for a video capture device, then an internal list of keyboard @@ -10079,16 +10080,25 @@ Options: will get out of sync (probably due to a mouse "threshold" setting where the acceleration doe not apply, set xset(1)). The option reset=N sets the - number of ms (default 500) after which the cursor is + number of ms (default 150) after which the cursor is attempted to be reset (by forcing the mouse to (0, 0) via small increments and then back out to (x, y) in 1 jump), This correction seems to be needed but can cause jerkiness or unexpected behavior with menus, etc. Use reset=0 to disable. + If you set the env. var X11VNC_UINPUT_THRESHOLDS then + the thresh=n mode will be enabled. It it currently + not working well. If |dx| <= thresh and |dy| < thresh + no acceleration is applied. Use "thresh=+n" |dx| + + |dy| <= thresh to be used instead (X11?) + Example: -pipeinput UINPUT:accel=4.0 -cursor none + You can also set the env. var X11VNC_UINPUT_DEBUG=1 or + higher to get debugging output for UINPUT mode. + -gui [gui-opts] Start up a simple tcl/tk gui based on the the remote control options -remote/-query described below. Requires the "wish" program to be installed on the @@ -10442,6 +10452,7 @@ n rawfb:str set -rawfb mode to "str". uinput_accel:f set uinput_accel to f. uinput_reset:n set uinput_reset to n ms. + uinput_always:n set uinput_always to 1/0. progressive:n set libvncserver -progressive slice height parameter to n. desktop:str set -desktop name to str for new clients @@ -10508,13 +10519,6 @@ n query straight to the X11VNC_REMOTE property or connect file use "qry=..." instead of "cmd=..." - Here is the current list of "variables" that can - be supplied to the -query command. This includes the - "N/A" ones that return no useful info. For variables - names that do not correspond to an x11vnc option or - remote command, we hope the name makes it obvious what - the returned value corresponds to (hint: the ext_* - variables correspond to the presence of X extensions): ans= stop quit exit shutdown ping blacken zero refresh reset close disconnect id sid waitmapped nowaitmapped clip flashcmap noflashcmap shiftcmap @@ -10545,16 +10549,16 @@ n nodragging wireframe_mode wireframe wf nowireframe nowf wirecopyrect wcr nowirecopyrect nowcr scr_area scr_skip scr_inc scr_keys scr_term scr_keyrepeat - scr_parms scrollcopyrect scr noscrollcopyrect - noscr fixscreen noxrecord xrecord reset_record - pointer_mode pm input_skip allinput noallinput input - grabkbd nograbkbd grabptr nograbptr client_input - speeds wmdt debug_pointer dp nodebug_pointer nodp - debug_keyboard dk nodebug_keyboard nodk deferupdate - defer wait_ui wait_bog nowait_bog slow_fb wait - readtimeout nap nonap sb screen_blank fbpm nofbpm - fs gaps grow fuzz snapfb nosnapfb rawfb uinput_accel - uinput_reset progressive rfbport http nohttp httpport + scr_parms scrollcopyrect scr noscrollcopyrect noscr + fixscreen noxrecord xrecord reset_record pointer_mode + pm input_skip allinput noallinput input grabkbd + nograbkbd grabptr nograbptr client_input speeds wmdt + debug_pointer dp nodebug_pointer nodp debug_keyboard + dk nodebug_keyboard nodk deferupdate defer wait_ui + wait_bog nowait_bog slow_fb wait readtimeout nap + nonap sb screen_blank fbpm nofbpm fs gaps grow + fuzz snapfb nosnapfb rawfb uinput_accel uinput_reset + uinput_always progressive rfbport http nohttp httpport httpdir enablehttpproxy noenablehttpproxy alwaysshared noalwaysshared nevershared noalwaysshared dontdisconnect nodontdisconnect desktop debug_xevents nodebug_xevents @@ -10580,6 +10584,7 @@ n mouse_x mouse_y bpp depth indexed_color dpy_x dpy_y wdpy_x wdpy_y off_x off_y cdpy_x cdpy_y coff_x coff_y rfbauth passwd viewpasswd + -QD variable Just like -query variable, but returns the default value for that parameter (no running x11vnc server is consulted) diff --git a/x11vnc/help.c b/x11vnc/help.c index 41dbeca..456cfeb 100644 --- a/x11vnc/help.c +++ b/x11vnc/help.c @@ -2528,16 +2528,17 @@ void print_help(int mode) { " active VT, to indicate one explicitly, use \"cons2\",\n" " etc. using the VT number.\n" "\n" -" If the Linux version seems to be 2.6 or later and the\n" -" \"uinput\" module appears to be present, then the uinput\n" -" method will be used instead of /dev/ttyN. uinput allows\n" -" insertion of BOTH keystrokes and mouse input and so it\n" -" preferred when accessing graphical (e.g. QT-embedded)\n" -" linux console apps. See -pipeinput UINPUT below\n" -" for more information on this mode (you may want to\n" -" also use the -nodragging and -cursor none options).\n" -" Use \"cons0\", etc or -pipeinput CONS to force the\n" -" /dev/ttyN method.\n" +" If the Linux version seems to be 2.6 or later and\n" +" the \"uinput\" module appears to be present, then\n" +" the uinput method will be used instead of /dev/ttyN.\n" +" uinput allows insertion of BOTH keystrokes and mouse\n" +" input and so it preferred when accessing graphical\n" +" (e.g. QT-embedded) linux console apps. See -pipeinput\n" +" UINPUT below for more information on this mode; you\n" +" will have to use -pipeinput if you want to tweak any\n" +" UINPUT parameters. You may also want to also use the\n" +" -nodragging and -cursor none options. Use \"cons0\",\n" +" etc or -pipeinput CONS to force the /dev/ttyN method.\n" "\n" " Note you can change VT remotely using the chvt(1)\n" " command. Sometimes switching out and back corrects\n" @@ -2591,7 +2592,7 @@ void print_help(int mode) { " value is stored in X11VNC_RAWFB_STR for the pipe command\n" " to use if it wants. Do 'env | grep X11VNC' for more.\n" "\n" -" Built-in pipeinput modes:\n" +" Built-in pipeinput modes (no external program required):\n" "\n" " If cmd is \"VID\" and you are using the -rawfb for a\n" " video capture device, then an internal list of keyboard\n" @@ -2655,16 +2656,25 @@ void print_help(int mode) { " will get out of sync (probably due to a mouse\n" " \"threshold\" setting where the acceleration doe not\n" " apply, set xset(1)). The option reset=N sets the\n" -" number of ms (default 500) after which the cursor is\n" +" number of ms (default 150) after which the cursor is\n" " attempted to be reset (by forcing the mouse to (0,\n" " 0) via small increments and then back out to (x, y)\n" " in 1 jump), This correction seems to be needed but can\n" " cause jerkiness or unexpected behavior with menus, etc.\n" " Use reset=0 to disable.\n" "\n" +" If you set the env. var X11VNC_UINPUT_THRESHOLDS then\n" +" the thresh=n mode will be enabled. It it currently\n" +" not working well. If |dx| <= thresh and |dy| < thresh\n" +" no acceleration is applied. Use \"thresh=+n\" |dx| +\n" +" |dy| <= thresh to be used instead (X11?)\n" +"\n" " Example:\n" " -pipeinput UINPUT:accel=4.0 -cursor none\n" "\n" +" You can also set the env. var X11VNC_UINPUT_DEBUG=1 or\n" +" higher to get debugging output for UINPUT mode.\n" +"\n" "-gui [gui-opts] Start up a simple tcl/tk gui based on the the remote\n" " control options -remote/-query described below.\n" " Requires the \"wish\" program to be installed on the\n" @@ -3024,6 +3034,7 @@ void print_help(int mode) { " rawfb:str set -rawfb mode to \"str\".\n" " uinput_accel:f set uinput_accel to f.\n" " uinput_reset:n set uinput_reset to n ms.\n" +" uinput_always:n set uinput_always to 1/0.\n" " progressive:n set libvncserver -progressive slice\n" " height parameter to n.\n" " desktop:str set -desktop name to str for new clients.\n" @@ -3090,13 +3101,6 @@ void print_help(int mode) { " query straight to the X11VNC_REMOTE property or connect\n" " file use \"qry=...\" instead of \"cmd=...\"\n" "\n" -" Here is the current list of \"variables\" that can\n" -" be supplied to the -query command. This includes the\n" -" \"N/A\" ones that return no useful info. For variables\n" -" names that do not correspond to an x11vnc option or\n" -" remote command, we hope the name makes it obvious what\n" -" the returned value corresponds to (hint: the ext_*\n" -" variables correspond to the presence of X extensions):\n" " ans= stop quit exit shutdown ping blacken zero\n" " refresh reset close disconnect id sid waitmapped\n" " nowaitmapped clip flashcmap noflashcmap shiftcmap\n" @@ -3127,16 +3131,16 @@ void print_help(int mode) { " nodragging wireframe_mode wireframe wf nowireframe\n" " nowf wirecopyrect wcr nowirecopyrect nowcr scr_area\n" " scr_skip scr_inc scr_keys scr_term scr_keyrepeat\n" -" scr_parms scrollcopyrect scr noscrollcopyrect\n" -" noscr fixscreen noxrecord xrecord reset_record\n" -" pointer_mode pm input_skip allinput noallinput input\n" -" grabkbd nograbkbd grabptr nograbptr client_input\n" -" speeds wmdt debug_pointer dp nodebug_pointer nodp\n" -" debug_keyboard dk nodebug_keyboard nodk deferupdate\n" -" defer wait_ui wait_bog nowait_bog slow_fb wait\n" -" readtimeout nap nonap sb screen_blank fbpm nofbpm\n" -" fs gaps grow fuzz snapfb nosnapfb rawfb uinput_accel\n" -" uinput_reset progressive rfbport http nohttp httpport\n" +" scr_parms scrollcopyrect scr noscrollcopyrect noscr\n" +" fixscreen noxrecord xrecord reset_record pointer_mode\n" +" pm input_skip allinput noallinput input grabkbd\n" +" nograbkbd grabptr nograbptr client_input speeds wmdt\n" +" debug_pointer dp nodebug_pointer nodp debug_keyboard\n" +" dk nodebug_keyboard nodk deferupdate defer wait_ui\n" +" wait_bog nowait_bog slow_fb wait readtimeout nap\n" +" nonap sb screen_blank fbpm nofbpm fs gaps grow\n" +" fuzz snapfb nosnapfb rawfb uinput_accel uinput_reset\n" +" uinput_always progressive rfbport http nohttp httpport\n" " httpdir enablehttpproxy noenablehttpproxy alwaysshared\n" " noalwaysshared nevershared noalwaysshared dontdisconnect\n" " nodontdisconnect desktop debug_xevents nodebug_xevents\n" @@ -3162,6 +3166,7 @@ void print_help(int mode) { " mouse_x mouse_y bpp depth indexed_color dpy_x dpy_y\n" " wdpy_x wdpy_y off_x off_y cdpy_x cdpy_y coff_x coff_y\n" " rfbauth passwd viewpasswd\n" +"\n" "-QD variable Just like -query variable, but returns the default\n" " value for that parameter (no running x11vnc server\n" " is consulted)\n" diff --git a/x11vnc/keyboard.c b/x11vnc/keyboard.c index eb51d6d..bd2a2f6 100644 --- a/x11vnc/keyboard.c +++ b/x11vnc/keyboard.c @@ -2631,6 +2631,7 @@ void keyboard(rfbBool down, rfbKeySym keysym, rfbClientPtr client) { static rfbKeySym last_keysym = NoSymbol; static rfbKeySym max_keyrepeat_last_keysym = NoSymbol; static double max_keyrepeat_last_time = 0.0; + static double max_keyrepeat_always = -1.0; dtime0(&tnow); got_keyboard_calls++; @@ -2645,6 +2646,7 @@ void keyboard(rfbBool down, rfbKeySym keysym, rfbClientPtr client) { unixpw_in_progress, tnow - x11vnc_start); } + if (keysym <= 0) { rfbLog("keyboard: skipping 0x0 keysym\n"); return; @@ -2768,6 +2770,18 @@ void keyboard(rfbBool down, rfbKeySym keysym, rfbClientPtr client) { } } +#ifdef MAX_KEYREPEAT + if (max_keyrepeat_always < 0.0) { + if (getenv("MAX_KEYREPEAT")) { + max_keyrepeat_always = atof(getenv("MAX_KEYREPEAT")); + } else { + max_keyrepeat_always = 0.0; + } + } + if (max_keyrepeat_always > 0.0) { + max_keyrepeat_time = max_keyrepeat_always; + } +#endif if (!down && skipped_last_down) { int db = debug_scroll; if (keysym == max_keyrepeat_last_keysym) { diff --git a/x11vnc/remote.c b/x11vnc/remote.c index cd80538..a090d49 100644 --- a/x11vnc/remote.c +++ b/x11vnc/remote.c @@ -3463,6 +3463,17 @@ char *process_remote_cmd(char *cmd, int stringonly) { rfbLog("set_uinput_accel: %s\n", p); set_uinput_accel(p); + } else if (strstr(p, "uinput_thresh") == p) { + COLON_CHECK("uinput_thresh:") + if (query) { + snprintf(buf, bufn, "ans=%s%s%s", p, co, + NONUL(get_uinput_thresh())); + goto qry; + } + p += strlen("uinput_thresh:"); + rfbLog("set_uinput_thresh: %s\n", p); + set_uinput_thresh(p); + } else if (strstr(p, "uinput_reset") == p) { COLON_CHECK("uinput_reset:") p += strlen("uinput_reset:"); @@ -3474,6 +3485,17 @@ char *process_remote_cmd(char *cmd, int stringonly) { rfbLog("set_uinput_reset: %s\n", p); set_uinput_reset(atoi(p)); + } else if (strstr(p, "uinput_always") == p) { + COLON_CHECK("uinput_always:") + p += strlen("uinput_always:"); + if (query) { + snprintf(buf, bufn, "ans=%s%s%d", p, co, + get_uinput_always()); + goto qry; + } + rfbLog("set_uinput_always: %s\n", p); + set_uinput_always(atoi(p)); + } else if (strstr(p, "progressive") == p) { int f; COLON_CHECK("progressive:") diff --git a/x11vnc/tkx11vnc b/x11vnc/tkx11vnc index adffad6..180e296 100755 --- a/x11vnc/tkx11vnc +++ b/x11vnc/tkx11vnc @@ -180,6 +180,7 @@ Screen pipeinput: uinput_accel: uinput_reset: + uinput_always: 24to32 =GAL LOFF diff --git a/x11vnc/tkx11vnc.h b/x11vnc/tkx11vnc.h index c657ab6..2c9c35f 100644 --- a/x11vnc/tkx11vnc.h +++ b/x11vnc/tkx11vnc.h @@ -191,6 +191,7 @@ char gui_code[] = ""; " pipeinput:\n" " uinput_accel:\n" " uinput_reset:\n" +" uinput_always:\n" " 24to32\n" " =GAL LOFF\n" "\n" diff --git a/x11vnc/uinput.c b/x11vnc/uinput.c index c3a5166..bdd41c2 100644 --- a/x11vnc/uinput.c +++ b/x11vnc/uinput.c @@ -25,8 +25,10 @@ int check_uinput(void); int initialize_uinput(void); int set_uinput_accel(char *str); +int set_uinput_thresh(char *str); void set_uinput_reset(int ms); char *get_uinput_accel(); +char *get_uinput_thresh(); int get_uinput_reset(); void parse_uinput_str(char *str); void uinput_pointer_command(int mask, int x, int y, rfbClientPtr client); @@ -43,7 +45,7 @@ static void button_click(int down, int btn); static int lookup_code(int keysym); static int fd = -1; -static int db = 1; +static int db = 0; static int bmask = 0; static char *injectable = NULL; @@ -155,6 +157,11 @@ int initialize_uinput(void) { fd = -1; } + if (getenv("X11VNC_UINPUT_DEBUG")) { + db = atoi(getenv("X11VNC_UINPUT_DEBUG")); + rfbLog("set uinput debug to: %d\n", db); + } + init_key_tracker(); if (uinput_dev) { @@ -213,15 +220,21 @@ int initialize_uinput(void) { #endif } +/* these defaults are based on qt-embedded 7/2006 */ static double fudge_x = 0.5; /* accel=2.0 */ static double fudge_y = 0.5; +static int thresh = 5; +static int thresh_or = 1; + static double resid_x = 0.0; static double resid_y = 0.0; -static double zero_delay = 0.5; +static double zero_delay = 0.15; static double last_button_click = 0.0; +static int uinput_always = 0; + static void set_uinput_accel_xy(double fx, double fy) { fudge_x = 1.0/fx; fudge_y = 1.0/fy; @@ -230,6 +243,7 @@ static void set_uinput_accel_xy(double fx, double fy) { } static char *uinput_accel_str = NULL; +static char *uinput_thresh_str = NULL; int set_uinput_accel(char *str) { double fx, fy; @@ -249,18 +263,42 @@ int set_uinput_accel(char *str) { return 1; } +int set_uinput_thresh(char *str) { + rfbLog("set_uinput_thresh: str=%s\n", str); + if (str[0] == '+') { + thresh_or = 0; + } + thresh = atoi(str); + if (uinput_thresh_str) { + free(uinput_thresh_str); + } + uinput_thresh_str = strdup(str); + return 1; +} + void set_uinput_reset(int ms) { zero_delay = (double) ms/1000.; rfbLog("set_uinput_reset: %d\n", ms); } +int set_uinput_always(int a) { + uinput_always = a; +} + char *get_uinput_accel(void) { return uinput_accel_str; } +char *get_uinput_thresh(void) { + return uinput_thresh_str; +} int get_uinput_reset(void) { return (int) (1000 * zero_delay); } +int get_uinput_always(void) { + return uinput_always; +} + void parse_uinput_str(char *in) { char *p, *q, *str = strdup(in); @@ -282,10 +320,16 @@ void parse_uinput_str(char *in) { if (! set_uinput_accel(q)) { clean_up_exit(1); } + } else if (strstr(p, "thresh=") == p) { + q = p + strlen("thresh="); + set_uinput_thresh(q); } else if (strstr(p, "reset=") == p) { int n = atoi(p + strlen("reset=")); set_uinput_reset(n); + } else if (strstr(p, "always=") == p) { + int n = atoi(p + strlen("always=")); + set_uinput_always(n); } else if (strpbrk(p, "KMB") == p) { if (injectable) { free(injectable); @@ -307,19 +351,18 @@ static void ptr_move(int dx, int dy) { if (injectable && strchr(injectable, 'M') == NULL) { return; } -if (0) fprintf(stderr, "ptr_move: %d %d\n", dx, dy); memset(&ev, 0, sizeof(ev)); gettimeofday(&ev.time, NULL); ev.type = EV_REL; - ev.code = REL_X; - ev.value = dx; + ev.code = REL_Y; + ev.value = dy; write(fd, &ev, sizeof(ev)); ev.type = EV_REL; - ev.code = REL_Y; - ev.value = dy; + ev.code = REL_X; + ev.value = dx; write(fd, &ev, sizeof(ev)); ev.type = EV_SYN; @@ -329,36 +372,143 @@ if (0) fprintf(stderr, "ptr_move: %d %d\n", dx, dy); #endif } +static int inside_thresh(int dx, int dy, int thr) { + if (thresh_or) { + /* this is peeking at qt-embedded qmouse_qws.cpp */ + if (nabs(dx) <= thresh && nabs(dy) <= thr) { + return 1; + } + } else { + /* this is peeking at xfree/xorg xf86Xinput.c */ + if (nabs(dx) + nabs(dy) < thr) { + return 1; + } + } + return 0; +} + static void ptr_rel(int dx, int dy) { - int dxf, dyf; + int dxf, dyf, nx, ny, k; + int accel, thresh_high, thresh_mid; + double fx, fy; + static int try_threshes = -1; + + if (try_threshes < 0) { + if (getenv("X11VNC_UINPUT_THRESHOLDS")) { + try_threshes = 1; + } else { + try_threshes = 0; + } + } + + if (try_threshes) { + thresh_high = (int) ( (double) thresh/fudge_x ); + thresh_mid = (int) ( (double) (thresh + thresh_high) / 2.0 ); + + if (thresh_mid <= thresh) { + thresh_mid = thresh + 1; + } + if (thresh_high <= thresh_mid) { + thresh_high = thresh_mid + 1; + } + + if (inside_thresh(dx, dy, thresh)) { + accel = 0; + } else { + accel = 1; + } + nx = nabs(dx); + ny = nabs(dy); - dxf = (int) (fudge_x * (double) dx); - dyf = (int) (fudge_y * (double) dy); + } else { + accel = 1; + thresh_high = 0; + nx = ny = 1; + } + + if (accel && nx + ny > 0 ) { + if (thresh_high > 0 && inside_thresh(dx, dy, thresh_high)) { + double alpha, t; + /* XXX */ + if (1 || inside_thresh(dx, dy, thresh_mid)) { + t = thresh; + accel = 2; + } else { + accel = 3; + t = thresh_high; + } + if (thresh_or) { + if (nx > ny) { + fx = t; + fy = ((double) ny / (double) nx) * t; + } else { + fx = ((double) nx / (double) ny) * t; + fy = t; + } + dxf = (int) fx; + dyf = (int) fy; + fx = dx; + fy = dy; + + } else { + if (t > 1) { + /* XXX */ + t = t - 1.0; + } + alpha = t/(nx + ny); + fx = alpha * dx; + fy = alpha * dy; + dxf = (int) fx; + dyf = (int) fy; + fx = dx; + fy = dy; + } + } else { + fx = fudge_x * (double) dx; + fy = fudge_y * (double) dy; + dxf = (int) fx; + dyf = (int) fy; + } + } else { + fx = dx; + fy = dy; + dxf = dx; + dyf = dy; + } if (db > 1) fprintf(stderr, "old dx dy: %d %d\n", dx, dy); - if (db > 1) fprintf(stderr, "new dx dy: %d %d\n", dxf, dyf); + if (db > 1) fprintf(stderr, "new dx dy: %d %d accel: %d\n", dxf, dyf, accel); ptr_move(dxf, dyf); - resid_x += fudge_x * (double) dx - dxf; - resid_y += fudge_y * (double) dy - dyf; + resid_x += fx - dxf; + resid_y += fy - dyf; + + for (k = 0; k < 4; k++) { + if (resid_x <= -1.0 || resid_x >= 1.0 || resid_y <= -1.0 || resid_y >= 1.0) { + dxf = 0; + dyf = 0; + if (resid_x >= 1.0) { + dxf = (int) resid_x; + dxf = 1; + } else if (resid_x <= -1.0) { + dxf = -((int) (-resid_x)); + dxf = -1; + } + resid_x -= dxf; + if (resid_y >= 1.0) { + dyf = (int) resid_y; + dyf = 1; + } else if (resid_y <= -1.0) { + dyf = -((int) (-resid_y)); + dyf = -1; + } + resid_y -= dyf; - if (resid_x < -1.0 || resid_x > 1.0 || resid_y < -1.0 || resid_y > 1.0) { - dxf = 0; - dyf = 0; - if (resid_x > 1.0) { - dxf = (int) resid_x; - } else if (resid_x < -1.0) { - dxf = -((int) (-resid_x)); - } - resid_x -= dxf; - if (resid_y > 1.0) { - dyf = (int) resid_y; - } else if (resid_y < -1.0) { - dyf = -((int) (-resid_y)); + if (db > 1) fprintf(stderr, "*%s resid: dx dy: %d %d %f %f\n", accel > 1 ? "*" : " ", dxf, dyf, resid_x, resid_y); +if (0) {usleep(100*1000)}; + ptr_move(dxf, dyf); } - resid_y -= dyf; - ptr_move(dxf, dyf); } } @@ -370,7 +520,7 @@ static void button_click(int down, int btn) { return; } - if (db) fprintf(stderr, "down %d btn %d\n", down, btn); + if (db) fprintf(stderr, "button_click: btn %d %s\n", btn, down ? "down" : "up"); memset(&ev, 0, sizeof(ev)); gettimeofday(&ev.time, NULL); @@ -408,8 +558,18 @@ void uinput_pointer_command(int mask, int x, int y, rfbClientPtr client) { static int last_x = -1, last_y = -1, last_mask = -1; static double last_zero = 0.0; allowed_input_t input; - int do_reset; + int do_reset, reset_lower_right = 1; double now; + static int first = 1; + + if (first) { + if (getenv("RESET_ALWAYS")) { + set_uinput_always(1); + } else { + set_uinput_always(0); + } + } + first = 0; if (db) fprintf(stderr, "uinput_pointer_command: %d %d - %d\n", x, y, mask); @@ -436,37 +596,92 @@ void uinput_pointer_command(int mask, int x, int y, rfbClientPtr client) { } } + if (uinput_always && !mask && !bmask && input.motion) { + do_reset = 1; + } + if (do_reset) { static int first = 1; if (zero_delay > 0.0 || first) { /* try to push it to 0,0 */ - int tx = fudge_x * last_x + 40; - int ty = fudge_y * last_y + 40; - int bigjump = 1; + int tx, ty, bigjump = 1; + + if (reset_lower_right) { + tx = fudge_x * (dpy_x - last_x); + ty = fudge_y * (dpy_y - last_y); + } else { + tx = fudge_x * last_x; + ty = fudge_y * last_y; + } + + tx += 50; + ty += 50; if (bigjump) { - ptr_move(-tx, -ty); - ptr_move(-tx, -ty); + if (reset_lower_right) { + ptr_move(0, +ty); + usleep(2*1000); + ptr_move(+tx, +ty); + ptr_move(+tx, +ty); + } else { + ptr_move(0, -ty); + usleep(2*1000); + ptr_move(-tx, -ty); + ptr_move(-tx, -ty); + } } else { int i, step, n = 20; step = dpy_x / n; + if (step < 100) step = 100; + for (i=0; i < n; i++) { - ptr_move(-step, -step); + if (reset_lower_right) { + ptr_move(+step, +step); + } else { + ptr_move(-step, -step); + } } for (i=0; i < n; i++) { - ptr_move(-1, -1); + if (reset_lower_right) { + ptr_move(+1, +1); + } else { + ptr_move(-1, -1); + } + } + } + if (db) { + if (reset_lower_right) { + fprintf(stderr, "uinput_pointer_command: reset -> (W,H) (%d,%d) [%d,%d]\n", x, y, tx, ty); + } else { + fprintf(stderr, "uinput_pointer_command: reset -> (0,0) (%d,%d) [%d,%d]\n", x, y, tx, ty); } } - if (db) fprintf(stderr, "uinput_pointer_command: reset\n"); /* rest a bit for system to absorb the change */ - usleep(30*1000); + if (uinput_always) { + static double last_sleep = 0.0; + double nw = dnow(), delay = zero_delay; + if (delay <= 0.0) delay = 0.1; + if (nw > last_sleep + delay) { + usleep(10*1000); + last_sleep = nw; + } else { + usleep(1*1000); + } + + } else { + usleep(30*1000); + } /* now jump back out */ - ptr_rel(x, y); - if (0) usleep(10*1000); + if (reset_lower_right) { + ptr_rel(x - dpy_x, y - dpy_y); + } else { + ptr_rel(x, y); + } + if (1) {usleep(10*1000)}; last_x = x; last_y = y; @@ -494,12 +709,12 @@ void uinput_pointer_command(int mask, int x, int y, rfbClientPtr client) { last_mask = mask; } -#if 0 -fprintf(stderr, "mask: %s\n", bitprint(mask, 16)); -fprintf(stderr, "bmask: %s\n", bitprint(bmask, 16)); -fprintf(stderr, "last_mask: %s\n", bitprint(last_mask, 16)); -fprintf(stderr, "button_mask: %s\n", bitprint(button_mask, 16)); -#endif + if (db > 2) { + fprintf(stderr, "mask: %s\n", bitprint(mask, 16)); + fprintf(stderr, "bmask: %s\n", bitprint(bmask, 16)); + fprintf(stderr, "last_mask: %s\n", bitprint(last_mask, 16)); + fprintf(stderr, "button_mask: %s\n", bitprint(button_mask, 16)); + } if (mask != last_mask) { int i; @@ -542,7 +757,7 @@ void uinput_key_command(int down, int keysym, rfbClientPtr client) { if (scancode < 0) { return; } - if (db) fprintf(stderr, "uinput_key_command: %d -> %d\n", keysym, scancode); + if (db) fprintf(stderr, "uinput_key_command: %d -> %d %s\n", keysym, scancode, down ? "down" : "up"); memset(&ev, 0, sizeof(ev)); gettimeofday(&ev.time, NULL); @@ -557,7 +772,7 @@ void uinput_key_command(int down, int keysym, rfbClientPtr client) { ev.value = 0; write(fd, &ev, sizeof(ev)); - if (0 <= scancode < 256) { + if (0 <= scancode && scancode < 256) { key_pressed[scancode] = down ? 1 : 0; } #endif @@ -767,7 +982,8 @@ while (<>) { } } -This only handles us kbd, we would need a kbd database in general... +This only handles US kbd, we would need a kbd database in general... +Ugh: parse dumpkeys(1) or -fookeys /usr/share/keymaps/i386/qwerty/dk.kmap.gz XK_Escape KEY_ESC XK_1 KEY_1 diff --git a/x11vnc/uinput.h b/x11vnc/uinput.h index ba45f22..0a18de8 100644 --- a/x11vnc/uinput.h +++ b/x11vnc/uinput.h @@ -6,9 +6,13 @@ extern int check_uinput(void); extern int initialize_uinput(void); extern int set_uinput_accel(char *str); +extern int set_uinput_thresh(char *str); extern void set_uinput_reset(int ms); +extern void set_uinput_always(int); extern char *get_uinput_accel(); +extern char *get_uinput_thresh(); extern int get_uinput_reset(); +extern int get_uinput_always(); extern void parse_uinput_str(char *str); extern void uinput_pointer_command(int mask, int x, int y, rfbClientPtr client); extern void uinput_key_command(int down, int keysym, rfbClientPtr client); diff --git a/x11vnc/x11vnc.1 b/x11vnc/x11vnc.1 index 8bcda80..dff7147 100644 --- a/x11vnc/x11vnc.1 +++ b/x11vnc/x11vnc.1 @@ -2,7 +2,7 @@ .TH X11VNC "1" "July 2006" "x11vnc " "User Commands" .SH NAME x11vnc - allow VNC connections to real X11 displays - version: 0.8.2, lastmod: 2006-07-09 + version: 0.8.2, lastmod: 2006-07-11 .SH SYNOPSIS .B x11vnc [OPTION]... @@ -2991,16 +2991,17 @@ be root to inject keystrokes. /dev/tty0 refers to the active VT, to indicate one explicitly, use "cons2", etc. using the VT number. .IP -If the Linux version seems to be 2.6 or later and the -"uinput" module appears to be present, then the uinput -method will be used instead of /dev/ttyN. uinput allows -insertion of BOTH keystrokes and mouse input and so it -preferred when accessing graphical (e.g. QT-embedded) -linux console apps. See \fB-pipeinput\fR UINPUT below -for more information on this mode (you may want to -also use the \fB-nodragging\fR and \fB-cursor\fR none options). -Use "cons0", etc or \fB-pipeinput\fR CONS to force the -/dev/ttyN method. +If the Linux version seems to be 2.6 or later and +the "uinput" module appears to be present, then +the uinput method will be used instead of /dev/ttyN. +uinput allows insertion of BOTH keystrokes and mouse +input and so it preferred when accessing graphical +(e.g. QT-embedded) linux console apps. See \fB-pipeinput\fR +UINPUT below for more information on this mode; you +will have to use \fB-pipeinput\fR if you want to tweak any +UINPUT parameters. You may also want to also use the +\fB-nodragging\fR and \fB-cursor\fR none options. Use "cons0", +etc or \fB-pipeinput\fR CONS to force the /dev/ttyN method. .IP Note you can change VT remotely using the .IR chvt (1) @@ -3059,7 +3060,7 @@ To facilitate this, if \fB-rawfb\fR is in effect then the value is stored in X11VNC_RAWFB_STR for the pipe command to use if it wants. Do 'env | grep X11VNC' for more. .IP -Built-in pipeinput modes: +Built-in pipeinput modes (no external program required): .IP If cmd is "VID" and you are using the \fB-rawfb\fR for a video capture device, then an internal list of keyboard @@ -3125,15 +3126,24 @@ will get out of sync (probably due to a mouse apply, set .IR xset (1) ). The option reset=N sets the -number of ms (default 500) after which the cursor is +number of ms (default 150) after which the cursor is attempted to be reset (by forcing the mouse to (0, 0) via small increments and then back out to (x, y) in 1 jump), This correction seems to be needed but can cause jerkiness or unexpected behavior with menus, etc. Use reset=0 to disable. .IP +If you set the env. var X11VNC_UINPUT_THRESHOLDS then +the thresh=n mode will be enabled. It it currently +not working well. If |dx| <= thresh and |dy| < thresh +no acceleration is applied. Use "thresh=+n" |dx| + +|dy| <= thresh to be used instead (X11?) +.IP Example: \fB-pipeinput\fR UINPUT:accel=4.0 \fB-cursor\fR none +.IP +You can also set the env. var X11VNC_UINPUT_DEBUG=1 or +higher to get debugging output for UINPUT mode. .PP \fB-gui\fR \fI[gui-opts]\fR .IP @@ -3679,6 +3689,8 @@ uinput_accel:f set uinput_accel to f. .IP uinput_reset:n set uinput_reset to n ms. .IP +uinput_always:n set uinput_always to 1/0. +.IP progressive:n set libvncserver \fB-progressive\fR slice height parameter to n. .IP @@ -3791,13 +3803,6 @@ these cases the value returned is "N/A". To direct a query straight to the X11VNC_REMOTE property or connect file use "qry=..." instead of "cmd=..." .IP -Here is the current list of "variables" that can -be supplied to the \fB-query\fR command. This includes the -"N/A" ones that return no useful info. For variables -names that do not correspond to an x11vnc option or -remote command, we hope the name makes it obvious what -the returned value corresponds to (hint: the ext_* -variables correspond to the presence of X extensions): ans= stop quit exit shutdown ping blacken zero refresh reset close disconnect id sid waitmapped nowaitmapped clip flashcmap noflashcmap shiftcmap @@ -3828,16 +3833,16 @@ xwarp noxwarppointer noxwarp buttonmap dragging nodragging wireframe_mode wireframe wf nowireframe nowf wirecopyrect wcr nowirecopyrect nowcr scr_area scr_skip scr_inc scr_keys scr_term scr_keyrepeat -scr_parms scrollcopyrect scr noscrollcopyrect -noscr fixscreen noxrecord xrecord reset_record -pointer_mode pm input_skip allinput noallinput input -grabkbd nograbkbd grabptr nograbptr client_input -speeds wmdt debug_pointer dp nodebug_pointer nodp -debug_keyboard dk nodebug_keyboard nodk deferupdate -defer wait_ui wait_bog nowait_bog slow_fb wait -readtimeout nap nonap sb screen_blank fbpm nofbpm -fs gaps grow fuzz snapfb nosnapfb rawfb uinput_accel -uinput_reset progressive rfbport http nohttp httpport +scr_parms scrollcopyrect scr noscrollcopyrect noscr +fixscreen noxrecord xrecord reset_record pointer_mode +pm input_skip allinput noallinput input grabkbd +nograbkbd grabptr nograbptr client_input speeds wmdt +debug_pointer dp nodebug_pointer nodp debug_keyboard +dk nodebug_keyboard nodk deferupdate defer wait_ui +wait_bog nowait_bog slow_fb wait readtimeout nap +nonap sb screen_blank fbpm nofbpm fs gaps grow +fuzz snapfb nosnapfb rawfb uinput_accel uinput_reset +uinput_always progressive rfbport http nohttp httpport httpdir enablehttpproxy noenablehttpproxy alwaysshared noalwaysshared nevershared noalwaysshared dontdisconnect nodontdisconnect desktop debug_xevents nodebug_xevents diff --git a/x11vnc/x11vnc.c b/x11vnc/x11vnc.c index 0501e41..8376377 100644 --- a/x11vnc/x11vnc.c +++ b/x11vnc/x11vnc.c @@ -19,7 +19,7 @@ * USA. * * - * This program is based heavily on the following programs: + * This program is based on the following programs: * * the originial x11vnc.c in libvncserver (Johannes E. Schindelin) * x0rfbserver, the original native X vnc server (Jens Wagner) diff --git a/x11vnc/x11vnc_defs.c b/x11vnc/x11vnc_defs.c index dc9bb45..1778252 100644 --- a/x11vnc/x11vnc_defs.c +++ b/x11vnc/x11vnc_defs.c @@ -15,7 +15,7 @@ int xtrap_base_event_type = 0; int xdamage_base_event_type = 0; /* date +'lastmod: %Y-%m-%d' */ -char lastmod[] = "0.8.2 lastmod: 2006-07-09"; +char lastmod[] = "0.8.2 lastmod: 2006-07-11"; /* X display info */ |