<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Limi&#039;s Sphere of Influence &#187; C</title>
	<atom:link href="http://blogs.gerbilsofwar.com/limi/category/programming/c/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.gerbilsofwar.com/limi</link>
	<description>dabbling, frivolling, idling, loafing, loitering, playing and procrastinating</description>
	<lastBuildDate>Wed, 04 Nov 2009 20:04:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Howto change the key pressed by VentriloCtrl</title>
		<link>http://blogs.gerbilsofwar.com/limi/2008/10/25/how-to-change-the-key-pressed-by-ventriloctrl-05/</link>
		<comments>http://blogs.gerbilsofwar.com/limi/2008/10/25/how-to-change-the-key-pressed-by-ventriloctrl-05/#comments</comments>
		<pubDate>Sat, 25 Oct 2008 14:43:19 +0000</pubDate>
		<dc:creator>Limi</dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Operating Systems]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Ventrilo]]></category>
		<category><![CDATA[World of Warcraft]]></category>
		<category><![CDATA[push-to-talk]]></category>
		<category><![CDATA[ventriloctrl]]></category>
		<category><![CDATA[wine]]></category>

		<guid isPermaLink="false">http://blogs.gerbilsofwar.com/limi/?p=152</guid>
		<description><![CDATA[I recently started attempting to game on my Ubuntu machine using Wine, and I frequently play Warcraft III and World of Warcraft. However, when playing both of these I use Ventrilo to talk to my friends, so I thought easy, I&#8217;ll just run Ventrilo through Wine and have no problems. Wrong. Ventrilo does load up [...]]]></description>
			<content:encoded><![CDATA[<p>I recently started attempting to game on my Ubuntu machine using Wine, and I frequently play Warcraft III and World of Warcraft. However, when playing both of these I use Ventrilo to talk to my friends, so I thought easy, I&#8217;ll just run Ventrilo through Wine and have no problems. Wrong. Ventrilo does load up fine, however using Push-To-Talk is almost a useless option as it only works when Ventrilo is the active window. So to fix that someone make an application called VentriloCtrl (as of writing on version 0.5) and this simulates a keypress so that the push to talk functionality works from anywhere. So I set this up as one of the buttons on my MX revolution&#8230;</p>
<p>The only downside however is that the key it presses is hard coded as the letter &#8220;A&#8221;, not exactly the best key since most gamers run with WSAD to move around and for about a week I was beginning to annoy people by every time I pressed &#8216;A&#8217; to move around I was transmitting. A quick dig through the code shows us where the key is defined, currently on line 17&#8230;</p>
<blockquote><p>#define SIMULATEKEY XK_A    // Simulate Key Press</p></blockquote>
<p>Excellent, so changing this should&#8217;nt be too hard. After a quick search around I found a nice long list of all the codes that you could use instead of &#8220;XK_A&#8221;&#8230;</p>
<blockquote><p>XK_BackSpace<br />
XK_Tab<br />
XK_Linefeed<br />
XK_Clear<br />
XK_Return<br />
XK_Pause<br />
XK_Escape<br />
XK_Delete<br />
XK_Multi_key<br />
XK_Kanji<br />
XK_Home<br />
XK_Left<br />
XK_Up<br />
XK_Right<br />
XK_Down<br />
XK_Prior<br />
XK_Next<br />
XK_End<br />
XK_Begin<br />
XK_Select<br />
XK_Print<br />
XK_Execute<br />
XK_Insert<br />
XK_Undo<br />
XK_Redo<br />
XK_Menu<br />
XK_Find<br />
XK_Cancel<br />
XK_Help<br />
XK_Break<br />
XK_Mode_switch<br />
XK_script_switch<br />
XK_Num_Lock<br />
XK_KP_Space<br />
XK_KP_Tab<br />
XK_KP_Enter<br />
XK_KP_F1<br />
XK_KP_F2<br />
XK_KP_F3<br />
XK_KP_F4<br />
XK_KP_Equal<br />
XK_KP_Multiply<br />
XK_KP_Add<br />
XK_KP_Separator<br />
XK_KP_Subtract<br />
XK_KP_Decimal<br />
XK_KP_Divide<br />
XK_KP_0<br />
XK_KP_1<br />
XK_KP_2<br />
XK_KP_3<br />
XK_KP_4<br />
XK_KP_5<br />
XK_KP_6<br />
XK_KP_7<br />
XK_KP_8<br />
XK_KP_9<br />
XK_F1<br />
XK_F2<br />
XK_F3<br />
XK_F4<br />
XK_F5<br />
XK_F6<br />
XK_F7<br />
XK_F8<br />
XK_F9<br />
XK_F10<br />
XK_F11<br />
XK_L1<br />
XK_F12<br />
XK_L2<br />
XK_F13<br />
XK_L3<br />
XK_F14<br />
XK_L4<br />
XK_F15<br />
XK_L5<br />
XK_F16<br />
XK_L6<br />
XK_F17<br />
XK_L7<br />
XK_F18<br />
XK_L8<br />
XK_F19<br />
XK_L9<br />
XK_F20<br />
XK_L10<br />
XK_F21<br />
XK_R1<br />
XK_F22<br />
XK_R2<br />
XK_F23<br />
XK_R3<br />
XK_F24<br />
XK_R4<br />
XK_F25<br />
XK_R5<br />
XK_F26<br />
XK_R6<br />
XK_F27<br />
XK_R7<br />
XK_F28<br />
XK_R8<br />
XK_F29<br />
XK_R9<br />
XK_F30<br />
XK_R10<br />
XK_F31<br />
XK_R11<br />
XK_F32<br />
XK_R12<br />
XK_R13<br />
XK_F33<br />
XK_F34<br />
XK_R14<br />
XK_F35<br />
XK_R15<br />
XK_Shift_L<br />
XK_Shift_R<br />
XK_Control_L<br />
XK_Control_R<br />
XK_Caps_Lock<br />
XK_Shift_Lock<br />
XK_Meta_L<br />
XK_Meta_R<br />
XK_Alt_L<br />
XK_Alt_R<br />
XK_Super_L<br />
XK_Super_R<br />
XK_Hyper_L<br />
XK_Hyper_R<br />
XK_space<br />
XK_exclam<br />
XK_quotedbl<br />
XK_numbersign<br />
XK_dollar<br />
XK_percent<br />
XK_ampersand<br />
XK_quoteright<br />
XK_parenleft<br />
XK_parenright<br />
XK_asterisk<br />
XK_plus<br />
XK_comma<br />
XK_minus<br />
XK_period<br />
XK_slash<br />
XK_0<br />
XK_1<br />
XK_2<br />
XK_3<br />
XK_4<br />
XK_5<br />
XK_6<br />
XK_7<br />
XK_8<br />
XK_9<br />
XK_colon<br />
XK_semicolon<br />
XK_less<br />
XK_equal<br />
XK_greater<br />
XK_question<br />
XK_at<br />
XK_A<br />
XK_B<br />
XK_C<br />
XK_D<br />
XK_E<br />
XK_F<br />
XK_G<br />
XK_H<br />
XK_I<br />
XK_J<br />
XK_K<br />
XK_L<br />
XK_M<br />
XK_N<br />
XK_O<br />
XK_P<br />
XK_Q<br />
XK_R<br />
XK_S<br />
XK_T<br />
XK_U<br />
XK_V<br />
XK_W<br />
XK_X<br />
XK_Y<br />
XK_Z<br />
XK_bracketleft<br />
XK_backslash<br />
XK_bracketright<br />
XK_asciicircum<br />
XK_underscore<br />
XK_quoteleft<br />
XK_lca<br />
XK_lcb<br />
XK_lcc<br />
XK_lcd<br />
XK_lce<br />
XK_lcf<br />
XK_lcg<br />
XK_lch<br />
XK_lci<br />
XK_lcj<br />
XK_lck<br />
XK_lcl<br />
XK_lcm<br />
XK_lcn<br />
XK_lco<br />
XK_lcp<br />
XK_lcq<br />
XK_lcr<br />
XK_lcs<br />
XK_lct<br />
XK_lcu<br />
XK_lcv<br />
XK_lcw<br />
XK_lcx<br />
XK_lcy<br />
XK_lcz<br />
XK_braceleft<br />
XK_bar<br />
XK_braceright<br />
XK_asciitilde<br />
XK_nobreakspace<br />
XK_exclamdown<br />
XK_cent<br />
XK_sterling<br />
XK_currency<br />
XK_yen<br />
XK_brokenbar<br />
XK_section<br />
XK_diaeresis<br />
XK_copyright<br />
XK_ordfeminine<br />
XK_guillemotleft<br />
XK_notsign<br />
XK_hyphen<br />
XK_registered<br />
XK_macron<br />
XK_degree<br />
XK_plusminus<br />
XK_twosuperior<br />
XK_threesuperior<br />
XK_acute<br />
XK_mu<br />
XK_paragraph<br />
XK_periodcentered<br />
XK_cedilla<br />
XK_onesuperior<br />
XK_masculine<br />
XK_guillemotright<br />
XK_onequarter<br />
XK_onehalf<br />
XK_threequarters<br />
XK_questiondown<br />
XK_Agrave<br />
XK_Aacute<br />
XK_Acircumflex<br />
XK_Atilde<br />
XK_Adiaeresis<br />
XK_Aring<br />
XK_AE<br />
XK_Ccedilla<br />
XK_Egrave<br />
XK_Eacute<br />
XK_Ecircumflex<br />
XK_Ediaeresis<br />
XK_Igrave<br />
XK_Iacute<br />
XK_Icircumflex<br />
XK_Idiaeresis<br />
XK_Eth<br />
XK_Ntilde<br />
XK_Ograve<br />
XK_Oacute<br />
XK_Ocircumflex<br />
XK_Otilde<br />
XK_Odiaeresis<br />
XK_multiply<br />
XK_Ooblique<br />
XK_Ugrave<br />
XK_Uacute<br />
XK_Ucircumflex<br />
XK_Udiaeresis<br />
XK_Yacute<br />
XK_Thorn<br />
XK_ssharp<br />
XK_lcagrave<br />
XK_lcaacute<br />
XK_lcacircumflex<br />
XK_lcatilde<br />
XK_lcadiaeresis<br />
XK_lcaring<br />
XK_lcae<br />
XK_lcccedilla<br />
XK_lcegrave<br />
XK_lceacute<br />
XK_lcecircumflex<br />
XK_lcediaeresis<br />
XK_lcigrave<br />
XK_lciacute<br />
XK_lcicircumflex<br />
XK_lcidiaeresis<br />
XK_lceth<br />
XK_lcntilde<br />
XK_lcograve<br />
XK_lcoacute<br />
XK_lcocircumflex<br />
XK_lcotilde<br />
XK_lcodiaeresis<br />
XK_division<br />
XK_oslash<br />
XK_lcugrave<br />
XK_lcuacute<br />
XK_lcucircumflex<br />
XK_lcudiaeresis<br />
XK_lcyacute<br />
XK_lcthorn<br />
XK_ydiaeresis</p></blockquote>
<p>Now obviously, over half of those are going to be quite useless as they will create key-presses resulting in keys being randomly typed. The best ones that I have found for use with Ventrilo &#038; games are&#8230;</p>
<blockquote><p>XK_Pause<br />
XK_Break<br />
XK_Num_Lock<br />
XK_KP_5<br />
XK_Shift_Lock</p></blockquote>
<p>99% of the time these keys will have no effect on your games at all, so they are the safest keys to use for transmitting. Personally I use &#8220;XK_KP_5&#8243; which is the same as pressing the number 5 on your keypad when num lock is off, ie. nothing happens. Using that key also doesn&#8217;t mean you have to have num lock off either as this is a simulated key press, so unless some game gets clever, or you use the num pad and have assigned this key to something else, its possibly the best key to use for Push-To-Talk since it does not get used for anything.</p>
<p>So to change the key all you do is replace &#8220;XK_A&#8221; with whatever you want to use, then &#8220;make&#8221; and &#8220;make install&#8221; and you&#8217;re done <img src='http://blogs.gerbilsofwar.com/limi/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gerbilsofwar.com/limi/2008/10/25/how-to-change-the-key-pressed-by-ventriloctrl-05/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
