@@ -16,10 +16,10 @@ USB_JoystickReport_Input_t pc_report;
1616
1717void resetDirections () {
1818 memset (&pc_report, 0 , sizeof (USB_JoystickReport_Input_t));
19- pc_report.LX = 128 ;
20- pc_report.LY = 128 ;
21- pc_report.RX = 128 ;
22- pc_report.RY = 128 ;
19+ pc_report.LX = STICK_NEUTRAL ;
20+ pc_report.LY = STICK_NEUTRAL ;
21+ pc_report.RX = STICK_NEUTRAL ;
22+ pc_report.RY = STICK_NEUTRAL ;
2323 pc_report.Hat = HAT_NEUTRAL ;
2424}
2525
@@ -30,7 +30,7 @@ void parseLine(char* line) {
3030 __xdata uint8_t ly = STICK_NEUTRAL ;
3131 __xdata uint8_t rx = STICK_NEUTRAL ;
3232 __xdata uint8_t ry = STICK_NEUTRAL ;
33- __xdata uint8_t keyValue = STICK_NEUTRAL ;
33+ __xdata uint8_t keyValue = 0x80 ;
3434
3535 if (strncmp (line, " end" , 3 ) == 0 ) {
3636 // pokecon
@@ -213,6 +213,10 @@ void parseLine(char* line) {
213213 } else if (line[0 ] >= ' 0' && line[0 ] <= ' 9' ) {
214214 // pokecon
215215 __xdata uint8_t char_pos = 0 ;
216+ lx = pc_report.LX ;
217+ ly = pc_report.LY ;
218+ rx = pc_report.RX ;
219+ ry = pc_report.RY ;
216220
217221 btns = 0 ;
218222 while (line[char_pos] != ' ' && line[char_pos] != ' \r ' ) {
@@ -242,6 +246,7 @@ void parseLine(char* line) {
242246 }
243247 if (line[char_pos] != ' \r ' ) char_pos++;
244248
249+ pc_lx = 0 ;
245250 while (line[char_pos] != ' ' && line[char_pos] != ' \r ' ) {
246251 pc_lx *= 16 ;
247252 if (line[char_pos] >= ' 0' && line[char_pos] <= ' 9' ) {
@@ -255,6 +260,7 @@ void parseLine(char* line) {
255260 }
256261 if (line[char_pos] != ' \r ' ) char_pos++;
257262
263+ pc_ly = 0 ;
258264 while (line[char_pos] != ' ' && line[char_pos] != ' \r ' ) {
259265 pc_ly *= 16 ;
260266 if (line[char_pos] >= ' 0' && line[char_pos] <= ' 9' ) {
@@ -268,6 +274,7 @@ void parseLine(char* line) {
268274 }
269275 if (line[char_pos] != ' \r ' ) char_pos++;
270276
277+ pc_rx = 0 ;
271278 while (line[char_pos] != ' ' && line[char_pos] != ' \r ' ) {
272279 pc_rx *= 16 ;
273280 if (line[char_pos] >= ' 0' && line[char_pos] <= ' 9' ) {
@@ -281,6 +288,7 @@ void parseLine(char* line) {
281288 }
282289 if (line[char_pos] != ' \r ' ) char_pos++;
283290
291+ pc_ry = 0 ;
284292 while (line[char_pos] != ' ' && line[char_pos] != ' \r ' ) {
285293 pc_ry *= 16 ;
286294 if (line[char_pos] >= ' 0' && line[char_pos] <= ' 9' ) {
0 commit comments