Add gyro & accel support. Update python script.
- Added Gyroscope and accelerometer support. Now the 3DS sends the data of the Gyroscope and accelerometer to the IP address - Now the python script uses `python-evdev` instead of `python-uinput`. It support more EVENTS and INPUT_PROPS, so the gyroscope and accelerometer is identified as an gyro and accel device. Just like the DualShock linux driver (hid-playstation.c) - Python script has now a debug variable, if it's enabled it will show some debug info, like the state of the keys and sensors X,Y,Z positions. - Added some explanations on the python script to make development more easier (Mostly for myself)
This commit is contained in:
parent
4eaedf8b7f
commit
2b3744a344
|
@ -1,174 +0,0 @@
|
|||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <malloc.h>
|
||||
#include <setjmp.h>
|
||||
|
||||
#include <3ds.h>
|
||||
|
||||
#include "3ds/services/soc.h"
|
||||
#include "wireless.h"
|
||||
#include "settings.h"
|
||||
#include "drawing.h"
|
||||
#include "input.h"
|
||||
#include "keyboard.h"
|
||||
|
||||
static jmp_buf exitJmp;
|
||||
|
||||
void hang(char *message) {
|
||||
while(aptMainLoop()) {
|
||||
hidScanInput();
|
||||
|
||||
clearScreen();
|
||||
drawString(10, 10, "%s", message);
|
||||
drawString(10, 20, "Start and Select to exit");
|
||||
|
||||
u32 kHeld = hidKeysHeld();
|
||||
if((kHeld & KEY_START) && (kHeld & KEY_SELECT)) longjmp(exitJmp, 1);
|
||||
|
||||
gfxFlushBuffers();
|
||||
gspWaitForVBlank();
|
||||
gfxSwapBuffers();
|
||||
}
|
||||
}
|
||||
|
||||
int main(void) {
|
||||
acInit();
|
||||
gfxInitDefault();
|
||||
|
||||
gfxSetDoubleBuffering(GFX_TOP, true);
|
||||
gfxSetDoubleBuffering(GFX_BOTTOM, true);
|
||||
|
||||
if(setjmp(exitJmp)) goto exit;
|
||||
|
||||
// preRenderKeyboard();
|
||||
|
||||
clearScreen();
|
||||
drawString(10, 10, "Initing FS...");
|
||||
gfxFlushBuffers();
|
||||
gfxSwapBuffers();
|
||||
|
||||
fsInit();
|
||||
|
||||
clearScreen();
|
||||
drawString(10, 10, "Initing SOC...");
|
||||
gfxFlushBuffers();
|
||||
gfxSwapBuffers();
|
||||
|
||||
socInit((u32 *)memalign(0x1000, 0x100000), 0x100000);
|
||||
|
||||
u32 wifiStatus = 0;
|
||||
ACU_GetWifiStatus(&wifiStatus);
|
||||
if(!wifiStatus) {
|
||||
hang("No WiFi! Is your wireless slider on?");
|
||||
}
|
||||
|
||||
clearScreen();
|
||||
drawString(10, 10, "Reading settings...");
|
||||
gfxFlushBuffers();
|
||||
gfxSwapBuffers();
|
||||
|
||||
if(!readSettings()) {
|
||||
hang("Could not read 3DSController.ini!");
|
||||
}
|
||||
|
||||
clearScreen();
|
||||
drawString(10, 10, "Connecting to %s on port %d...", settings.IPString, settings.port);
|
||||
gfxFlushBuffers();
|
||||
gfxSwapBuffers();
|
||||
|
||||
openSocket(settings.port);
|
||||
sendConnectionRequest();
|
||||
|
||||
// clearScreen();
|
||||
gfxFlushBuffers();
|
||||
gfxSwapBuffers();
|
||||
|
||||
disableBacklight();
|
||||
|
||||
while(aptMainLoop()) {
|
||||
hidScanInput();
|
||||
irrstScanInput();
|
||||
|
||||
u32 kHeld = hidKeysHeld();
|
||||
circlePosition circlePad;
|
||||
circlePosition cStick;
|
||||
u8 vol8;
|
||||
u8* volp = &vol8; //As a test for pointing at things.
|
||||
hidCstickRead(&cStick);
|
||||
hidCircleRead(&circlePad);
|
||||
HIDUSER_GetSoundVolume(volp);
|
||||
u32 volume = (u32)vol8; //Upscale to 32 for transmission
|
||||
touchPosition touch;
|
||||
touchRead(&touch);
|
||||
|
||||
clearScreen();
|
||||
|
||||
if((kHeld & KEY_L) && (kHeld & KEY_R) && (kHeld & KEY_X)) {
|
||||
if(keyboardToggle) {
|
||||
keyboardActive = !keyboardActive;
|
||||
keyboardToggle = false;
|
||||
|
||||
if(keyboardActive) {
|
||||
enableBacklight();
|
||||
} else {
|
||||
disableBacklight();
|
||||
}
|
||||
}
|
||||
}
|
||||
else keyboardToggle = true;
|
||||
|
||||
if(keyboardActive) {
|
||||
drawKeyboard();
|
||||
|
||||
if(touch.px >= 1 && touch.px <= 312 && touch.py >= 78 && touch.py <= 208) {
|
||||
int x = (int)((float)touch.px * 12.0f / 320.0f);
|
||||
int y = (int)((float)(touch.py - 78) * 12.0f / 320.0f);
|
||||
int width = 24;
|
||||
int height = 24;
|
||||
|
||||
if(keyboardChars[x + y * 12] == ' ') {
|
||||
while(keyboardChars[(x - 1) + y * 12] == ' ') x--;
|
||||
|
||||
width = (int)(5.0f * 320.0f / 12.0f) - 1;
|
||||
}
|
||||
|
||||
else if(keyboardChars[x + y * 12] == '\13') {
|
||||
while(keyboardChars[(x - 1) + y * 12] == '\13') x--;
|
||||
while(keyboardChars[x + (y - 1) * 12] == '\13') y--;
|
||||
|
||||
width = (int)(2.0f * 320.0f / 12.0f) - 1;
|
||||
height = (int)(3.0f * 320.0f / 12.0f) - 1;
|
||||
}
|
||||
|
||||
if(keyboardChars[x + y * 12]) drawBox((int)((float)x * 320.0f / 12.0f) + 1, (int)(78.0f + (float)y * 320.0f / 12.0f) + 1, width, height, 31, 31, 0);
|
||||
}
|
||||
}
|
||||
|
||||
sendKeys(kHeld, circlePad, touch, cStick, volume);
|
||||
//drawString(10, 10, "Volume: %x", volume);
|
||||
//receiveBuffer(sizeof(struct packet));
|
||||
|
||||
if((kHeld & KEY_START) && (kHeld & KEY_SELECT)) {
|
||||
sendKeys(0, circlePad, touch, cStick, volume);
|
||||
longjmp(exitJmp, 1);
|
||||
}
|
||||
|
||||
gfxFlushBuffers();
|
||||
gspWaitForVBlank();
|
||||
gfxSwapBuffers();
|
||||
}
|
||||
|
||||
exit:
|
||||
|
||||
enableBacklight();
|
||||
|
||||
socExit();
|
||||
|
||||
svcCloseHandle(fileHandle);
|
||||
fsExit();
|
||||
|
||||
gfxExit();
|
||||
acExit();
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -1,50 +0,0 @@
|
|||
#include <stddef.h>
|
||||
|
||||
#include "keyboard.h"
|
||||
|
||||
#include "wireless.h"
|
||||
|
||||
int sock;
|
||||
struct sockaddr_in sain, saout;
|
||||
struct packet outBuf, rcvBuf;
|
||||
|
||||
socklen_t sockaddr_in_sizePtr = (int)sizeof(struct sockaddr_in);
|
||||
|
||||
bool openSocket(int port) {
|
||||
sock = socket(AF_INET, SOCK_DGRAM, 0);
|
||||
|
||||
saout.sin_family = sain.sin_family = AF_INET;
|
||||
saout.sin_port = sain.sin_port = htons(port);
|
||||
sain.sin_addr.s_addr = INADDR_ANY;
|
||||
|
||||
bind(sock, (struct sockaddr *)&sain, sizeof(sain));
|
||||
|
||||
fcntl(sock, F_SETFL, O_NONBLOCK);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void sendBuf(int length) {
|
||||
sendto(sock, (char *)&outBuf, length, 0, (struct sockaddr *)&saout, sizeof(saout));
|
||||
}
|
||||
|
||||
int receiveBuffer(int length) {
|
||||
return recvfrom(sock, (char *)&rcvBuf, length, 0, (struct sockaddr *)&sain, &sockaddr_in_sizePtr);
|
||||
}
|
||||
|
||||
void sendConnectionRequest(void) {
|
||||
outBuf.command = CONNECT;
|
||||
outBuf.keyboardActive = keyboardActive;
|
||||
sendBuf(offsetof(struct packet, connectPacket) + sizeof(struct connectPacket));
|
||||
}
|
||||
|
||||
void sendKeys(unsigned int keys, circlePosition circlePad, touchPosition touch, circlePosition cStick, unsigned int volume) {
|
||||
outBuf.command = KEYS;
|
||||
outBuf.keyboardActive = keyboardActive;
|
||||
memcpy(&outBuf.keys, &keys, 4);
|
||||
memcpy(&outBuf.circlePad, &circlePad, 4);
|
||||
memcpy(&outBuf.touch, &touch, 4);
|
||||
memcpy(&outBuf.cStick, &cStick, 4);
|
||||
memcpy(&outBuf.volume, &volume, 4);
|
||||
sendBuf(offsetof(struct packet, keysPacket) + sizeof(struct keysPacket));
|
||||
}
|
|
@ -0,0 +1,232 @@
|
|||
#!/usr/bin/env python
|
||||
# Compatible with python 3.11, NOT TESTED IN OLD VERSIONS OF PYTHON
|
||||
|
||||
from __future__ import print_function
|
||||
import socket, struct, time
|
||||
# EVDEV: https://python-evdev.readthedocs.io/en/latest/tutorial.html#specifying-uinput-device-options
|
||||
import evdev
|
||||
from evdev import UInput, AbsInfo, ecodes as e
|
||||
|
||||
##########################################################
|
||||
# CONFIGURABLE REGION START - Don't touch anything above #
|
||||
##########################################################
|
||||
port = 42020
|
||||
# Set the debug variable to 1 to print Debug information
|
||||
debug = 1
|
||||
|
||||
# Valid values can be found in any of these locations on your Linux system (some may not exist):
|
||||
# /usr/include/linux/input-event-codes.h
|
||||
# The virtual device is defined on the device variable and the mapping of the keys on btn_map
|
||||
# RECAP keynames (DO NOT TOUCH) are the keys that we expect commming from the 3ds, device is
|
||||
# the virtual device that we define and btn_map maps what we recieve with our virtual device
|
||||
btn_map = {
|
||||
"A": e.BTN_A,
|
||||
"B": e.BTN_B,
|
||||
"X": e.BTN_X,
|
||||
"Y": e.BTN_Y,
|
||||
"L": e.BTN_TL,
|
||||
"R": e.BTN_TR,
|
||||
"ZL": e.BTN_THUMBL,
|
||||
"ZR": e.BTN_THUMBR,
|
||||
"Left": e.BTN_DPAD_LEFT,
|
||||
"Right": e.BTN_DPAD_RIGHT,
|
||||
"Up": e.BTN_DPAD_UP,
|
||||
"Down": e.BTN_DPAD_DOWN,
|
||||
"Start": e.BTN_START,
|
||||
"Select": e.BTN_SELECT,
|
||||
"Tap": e.BTN_MODE
|
||||
}
|
||||
|
||||
device = {
|
||||
# EV_ABS is for Absolute movement with static values,
|
||||
# like the sticks and the volume
|
||||
e.EV_ABS: [
|
||||
(e.ABS_X, AbsInfo(0, -159, 159, 0, 10, 0)),
|
||||
(e.ABS_Y, AbsInfo(0, -159, 159, 0, 10, 0)),
|
||||
(e.ABS_RX, AbsInfo(0, -146, 146, 0, 16, 0)),
|
||||
(e.ABS_RY, AbsInfo(0, -146, 146, 0, 16, 0)),
|
||||
(e.ABS_VOLUME, AbsInfo(0, 0, 63, 0, 0, 0)),
|
||||
],
|
||||
# The keys lol
|
||||
e.EV_KEY: [
|
||||
e.BTN_A,
|
||||
e.BTN_B,
|
||||
e.BTN_X,
|
||||
e.BTN_Y,
|
||||
e.BTN_TL,
|
||||
e.BTN_TR,
|
||||
e.BTN_THUMBL,
|
||||
e.BTN_THUMBR,
|
||||
e.BTN_DPAD_LEFT,
|
||||
e.BTN_DPAD_RIGHT,
|
||||
e.BTN_DPAD_UP,
|
||||
e.BTN_DPAD_DOWN,
|
||||
e.BTN_START,
|
||||
e.BTN_SELECT,
|
||||
e.BTN_MODE,
|
||||
],
|
||||
}
|
||||
|
||||
ui = UInput(device, name="3DS", phys="3ds-uinput", vendor=0x1, version=0x1, product=0x1)
|
||||
|
||||
gyroAxis = {
|
||||
e.EV_ABS: [
|
||||
e.ABS_X,
|
||||
e.ABS_Y,
|
||||
e.ABS_Z,
|
||||
e.ABS_RX,
|
||||
e.ABS_RY,
|
||||
e.ABS_RZ
|
||||
]
|
||||
}
|
||||
|
||||
uiGyro = UInput(gyroAxis, name="3DS Gyroscope", phys="3ds-sensors", vendor=0x2, version=0x2, product=0x2, input_props=[6])
|
||||
|
||||
if (debug):
|
||||
print (ui)
|
||||
|
||||
########################################################
|
||||
# CONFIGURABLE REGION END - Don't touch anything below #
|
||||
########################################################
|
||||
|
||||
class x: pass
|
||||
|
||||
command = x()
|
||||
command.CONNECT = 0
|
||||
command.KEYS = 1
|
||||
command.SCREENSHOT = 2
|
||||
|
||||
keynames = [
|
||||
"A", "B", "Select", "Start", "Right", "Left", "Up", "Down",
|
||||
"R", "L", "X", "Y", None, None, "ZL", "ZR",
|
||||
None, None, None, None, "Tap", None, None, None,
|
||||
"CSRight", "CSLeft", "CSUp", "CSDown", "CRight", "CLeft", "CUp", "CDown",
|
||||
]
|
||||
|
||||
keys = x()
|
||||
keys.A = 1<<0
|
||||
keys.B = 1<<1
|
||||
keys.Select = 1<<2
|
||||
keys.Start = 1<<3
|
||||
keys.Right = 1<<4
|
||||
keys.Left = 1<<5
|
||||
keys.Up = 1<<6
|
||||
keys.Down = 1<<7
|
||||
keys.R = 1<<8
|
||||
keys.L = 1<<9
|
||||
keys.X = 1<<10
|
||||
keys.Y = 1<<11
|
||||
keys.ZL = 1<<14 # (new 3DS only)
|
||||
keys.ZR = 1<<15 # (new 3DS only)
|
||||
keys.Tap = 1<<20 # Not actually provided by HID
|
||||
keys.CSRight = 1<<24 # c-stick (new 3DS only)
|
||||
keys.CSLeft = 1<<25 # c-stick (new 3DS only)
|
||||
keys.CSUp = 1<<26 # c-stick (new 3DS only)
|
||||
keys.CSDown = 1<<27 # c-stick (new 3DS only)
|
||||
keys.CRight = 1<<28 # circle pad
|
||||
keys.CLeft = 1<<29 # circle pad
|
||||
keys.CUp = 1<<30 # circle pad
|
||||
keys.CDown = 1<<31 # circle pad
|
||||
|
||||
def press_key(key):
|
||||
ui.write(e.EV_KEY, key, 1)
|
||||
ui.syn()
|
||||
|
||||
def release_key(key):
|
||||
ui.write(e.EV_KEY,key, 0)
|
||||
ui.syn()
|
||||
|
||||
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||
sock.bind(("", port))
|
||||
|
||||
prevkeys = 0
|
||||
|
||||
touch_start = 0
|
||||
touch_last_x = 0
|
||||
touch_last_y = 0
|
||||
|
||||
while True:
|
||||
rawdata, addr = sock.recvfrom(4092)
|
||||
rawdata = bytearray(rawdata)
|
||||
# print("Received message", rawdata)
|
||||
|
||||
if rawdata[0]==command.CONNECT:
|
||||
print("Connected with 3DS at address", addr)
|
||||
pass # CONNECT packets are empty
|
||||
|
||||
if rawdata[0]==command.KEYS:
|
||||
# Just to explain this fuckery of struct.unpack:
|
||||
# <bbxxIhhHHhhBxxxhhhxx:
|
||||
# <: This represents that the data received is on Little-Endian
|
||||
# bb: 2 signed chars which they are 1 byte each one, so 2 bytes in total, the `command` and `keyboardActive` data is here
|
||||
# xx: Just 2 padding bytes, they are bytes without any data so with `xx` we skip them
|
||||
# I: A signed integer of 4 bytes, the `keys` pressed data is here
|
||||
# hh: 2 shorts which they are 2 bytes each one, 4 bytes on total, the X and Y data of the Circle Pad is here
|
||||
# HH: 2 shorts which they are 2 bytes each one, 4 bytes on total, the X and Y data of the Touch Pad is here
|
||||
# (where are you pressing in the screen, it could be useful somehow I guess.)
|
||||
# hh: 2 shorts which they are 2 bytes each one, 4 bytes on total, the X and Y data of the C Stick Pad is here
|
||||
# B: A unsigned char, just 1 byte and represents the value of the Volume Slider of the 3DS
|
||||
# xxx: Other 3 extra bytes of padding
|
||||
# hhh: 3 shorts which they are 2 bytes each one, 6 bytes on total, the X, Y, Z data of the GYROSCOPE is here
|
||||
# xx: And another 2 extra bytes of padding
|
||||
# hhh: 3 shorts which they are 2 bytes each one, 6 bytes on total, the X, Y, Z data of the ACCELEROMETER is here
|
||||
# xxx: And another 2 extra bytes of padding from the fucking nowhere
|
||||
fields = struct.unpack("<bbxxIhhHHhhBxxxhhhxxhhhxx", rawdata)
|
||||
|
||||
data = {
|
||||
"command": fields[0],
|
||||
"keyboardActive": fields[1],
|
||||
"keys": fields[2],
|
||||
"circleX": fields[3],
|
||||
"circleY": fields[4],
|
||||
"touchX": fields[5],
|
||||
"touchY": fields[6],
|
||||
"cstickX": fields[7],
|
||||
"cstickY": fields[8],
|
||||
"vol": fields[9],
|
||||
"gyroX": fields[10],
|
||||
"gyroY": fields[11],
|
||||
"gyroZ": fields[12],
|
||||
"accelX": fields[13],
|
||||
"accelY": fields[14],
|
||||
"accelZ": fields[15]
|
||||
}
|
||||
|
||||
if (debug):
|
||||
def pprint(obj):
|
||||
import pprint
|
||||
pprint.PrettyPrinter().pprint(obj)
|
||||
pprint(data)
|
||||
|
||||
newkeys = data["keys"] & ~prevkeys
|
||||
oldkeys = ~data["keys"] & prevkeys
|
||||
prevkeys = data["keys"]
|
||||
|
||||
for btnid in range(16):
|
||||
if newkeys & (1<<btnid):
|
||||
press_key(btn_map[keynames[btnid]])
|
||||
if oldkeys & (1<<btnid):
|
||||
release_key(btn_map[keynames[btnid]])
|
||||
if newkeys & keys.Tap:
|
||||
press_key(btn_map["Tap"])
|
||||
if oldkeys & keys.Tap:
|
||||
release_key(btn_map["Tap"])
|
||||
|
||||
|
||||
ui.write(e.EV_ABS, e.ABS_X, data["circleX"])
|
||||
ui.write(e.EV_ABS, e.ABS_Y, 0-data["circleY"])
|
||||
ui.write(e.EV_ABS, e.ABS_RX, data["cstickX"])
|
||||
ui.write(e.EV_ABS, e.ABS_RY, data["cstickY"])
|
||||
ui.write(e.EV_ABS, e.ABS_VOLUME, data["vol"])
|
||||
ui.syn()
|
||||
uiGyro.write(e.EV_ABS, e.ABS_RX, data["gyroX"])
|
||||
uiGyro.write(e.EV_ABS, e.ABS_RY, data["gyroY"])
|
||||
uiGyro.write(e.EV_ABS, e.ABS_RZ, data["gyroZ"])
|
||||
uiGyro.write(e.EV_ABS, e.ABS_X, data["accelX"])
|
||||
uiGyro.write(e.EV_ABS, e.ABS_Y, data["accelY"])
|
||||
uiGyro.write(e.EV_ABS, e.ABS_Z, data["accelZ"])
|
||||
uiGyro.syn()
|
||||
|
||||
|
||||
if rawdata[0]==command.SCREENSHOT:
|
||||
pass # unused by both 3DS and PC applications
|
|
@ -8,7 +8,7 @@ import uinput
|
|||
##########################################################
|
||||
# CONFIGURABLE REGION START - Don't touch anything above #
|
||||
##########################################################
|
||||
port = 8889
|
||||
port = 42020
|
||||
|
||||
#Valid values can be found in any of these locations on your Linux system (some may not exist):
|
||||
# /usr/include/linux/input-event-codes.h
|
||||
|
@ -31,8 +31,20 @@ btn_map = {
|
|||
"Start": uinput.BTN_START,
|
||||
"Select": uinput.BTN_SELECT,
|
||||
"Tap": uinput.BTN_MODE,
|
||||
# "Gyroscope X": uinput.REL_RX,
|
||||
# "Gyroscope Y": uinput.REL_RY,
|
||||
# "Gyroscope Z": uinput.REL_RZ,
|
||||
}
|
||||
|
||||
# gyro_events = {
|
||||
# uinput.EV_REL: [
|
||||
# uinput.REL_RX,
|
||||
# uinput.REL_RY,
|
||||
# uinput.REL_RZ
|
||||
# ],
|
||||
# uinput.EV_SYN: uinput.SYN_REPORT,
|
||||
# }
|
||||
|
||||
device = uinput.Device([
|
||||
uinput.ABS_X + (-159, 159, 0, 10),
|
||||
uinput.ABS_Y + (-159, 159, 0, 10),
|
||||
|
@ -54,7 +66,13 @@ device = uinput.Device([
|
|||
uinput.BTN_START,
|
||||
uinput.BTN_SELECT,
|
||||
uinput.BTN_MODE,
|
||||
])
|
||||
], name="3DS")
|
||||
|
||||
deviceGyro = uinput.Device([
|
||||
uinput.REL_RX,
|
||||
uinput.REL_RY,
|
||||
uinput.REL_RZ
|
||||
], name="3DS Gyroscope")
|
||||
########################################################
|
||||
# CONFIGURABLE REGION END - Don't touch anything below #
|
||||
########################################################
|
||||
|
@ -101,7 +119,11 @@ keys.CRight = 1<<28 # circle pad
|
|||
keys.CLeft = 1<<29 # circle pad
|
||||
keys.CUp = 1<<30 # circle pad
|
||||
keys.CDown = 1<<31 # circle pad
|
||||
|
||||
keys.GyroRight = 1<<32 # circle pad
|
||||
keys.GyroLeft = 1<<33 # circle pad
|
||||
keys.GyroUp = 1<<34 # circle pad
|
||||
keys.GyroDown = 1<<35 # circle pad
|
||||
|
||||
def press_key(key):
|
||||
device.emit(key, 1)
|
||||
|
||||
|
@ -118,16 +140,16 @@ touch_last_x = 0
|
|||
touch_last_y = 0
|
||||
|
||||
while True:
|
||||
rawdata, addr = sock.recvfrom(4096)
|
||||
rawdata, addr = sock.recvfrom(4092)
|
||||
rawdata = bytearray(rawdata)
|
||||
#print("received message", rawdata, "from", addr)
|
||||
print("received message", rawdata, "from", addr)
|
||||
|
||||
if rawdata[0]==command.CONNECT:
|
||||
print("Connected with 3DS at address",addr)
|
||||
pass # CONNECT packets are empty
|
||||
|
||||
if rawdata[0]==command.KEYS:
|
||||
fields = struct.unpack("<BBxxIhhHHhhBxxx", rawdata)
|
||||
fields = struct.unpack("<bbxxIhhHHhhBxxxhhhxx", rawdata)
|
||||
|
||||
data = {
|
||||
"command": fields[0],
|
||||
|
@ -140,9 +162,12 @@ while True:
|
|||
"cstickX": fields[7],
|
||||
"cstickY": fields[8],
|
||||
"vol": fields[9],
|
||||
"gyroX": fields[10],
|
||||
"gyroY": fields[11],
|
||||
"gyroZ": fields[12]
|
||||
}
|
||||
|
||||
#pprint(data)
|
||||
pprint(data)
|
||||
|
||||
newkeys = data["keys"] & ~prevkeys
|
||||
oldkeys = ~data["keys"] & prevkeys
|
||||
|
@ -157,12 +182,19 @@ while True:
|
|||
press_key(btn_map["Tap"])
|
||||
if oldkeys & keys.Tap:
|
||||
release_key(btn_map["Tap"])
|
||||
|
||||
|
||||
device.emit(uinput.ABS_X, data["circleX"], syn=False)
|
||||
device.emit(uinput.ABS_Y, 0-data["circleY"])
|
||||
device.emit(uinput.ABS_RX, data["cstickX"], syn=False)
|
||||
device.emit(uinput.ABS_RY, data["cstickY"])
|
||||
device.emit(uinput.ABS_VOLUME, data["vol"])
|
||||
|
||||
# device.emit(uinput.EV_SYN, 0)
|
||||
deviceGyro.emit(uinput.REL_X, data["gyroX"], syn=False)
|
||||
deviceGyro.emit(uinput.REL_Y, data["gyroY"])
|
||||
deviceGyro.emit(uinput.REL_Z, data["gyroZ"])
|
||||
# deviceGyro.emit(uinput.EV_SYN, 0)
|
||||
|
||||
|
||||
if rawdata[0]==command.SCREENSHOT:
|
||||
pass # unused by both 3DS and PC applications
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,37 @@
|
|||
target remote 192.168.93.3:4003
|
||||
target remote 192.168.98.3:4003
|
||||
next
|
||||
n
|
||||
run
|
||||
continue
|
||||
target remote 192.168.98.3:4003
|
||||
exit
|
||||
target remote 192.168.98.3:4003
|
||||
print
|
||||
p
|
||||
p volume
|
||||
file 3DSController.elf
|
||||
p volume
|
||||
p volume
|
||||
p
|
||||
continue
|
||||
continue
|
||||
print HIDUSER_EnableAccelerometer
|
||||
print HIDUSER_EnableAccelerometer
|
||||
print HIDUSER_GetSoundVolume
|
||||
print HIDUSER_GetSoundVolume
|
||||
print HIDUSER_GetSoundVolume
|
||||
print HIDUSER_GetSoundVolume
|
||||
print HIDUSER_GetSoundVolume
|
||||
print HIDUSER_GetSoundVolume
|
||||
print HIDUSER_GetSoundVolume
|
||||
print HIDUSER_GetSoundVolume
|
||||
print HIDUSER_GetSoundVolume
|
||||
print HIDUSER_GetSoundVolume
|
||||
print HIDUSER_GetSoundVolume
|
||||
n
|
||||
print HIDUSER_GetSoundVolume
|
||||
continue
|
||||
n
|
||||
n
|
||||
exit
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"cSpell.enabled": false
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,4 +1,4 @@
|
|||
Change the IP to be your PC's local IP, (run 3DSController.exe to find it),
|
||||
|
||||
IP: 192.168.0.4
|
||||
Port: 8889
|
||||
IP: 192.168.1.2
|
||||
Port: 42020
|
Binary file not shown.
|
@ -0,0 +1,730 @@
|
|||
w __cxa_begin_cleanup
|
||||
w __cxa_call_unexpected
|
||||
w __cxa_type_match
|
||||
w __deregister_frame_info
|
||||
w __gnu_Unwind_Find_exidx
|
||||
w __register_frame_info
|
||||
w userAppExit
|
||||
w userAppInit
|
||||
00000000 00000802 B __ctru_dev_utf16_buf
|
||||
00000000 a shift
|
||||
00000000 a shift
|
||||
00000000 b _TLS_MODULE_BASE_
|
||||
00000804 00000401 B __ctru_dev_path_buf
|
||||
00100000 A __start__
|
||||
00100000 T _start
|
||||
00100008 T __service_ptr
|
||||
0010000c T __apt_appid
|
||||
00100010 T __heap_size
|
||||
00100014 T __linear_heap_size
|
||||
00100018 T __system_arglist
|
||||
0010001c T __system_runflags
|
||||
00100020 t startup
|
||||
00100058 t ClearMem
|
||||
0010006c t ClrLoop
|
||||
00100094 T _init
|
||||
001000ac 00000028 T clearScreen
|
||||
001000d4 00000060 T drawPixelRGBFramebuffer
|
||||
00100134 000000f4 T drawBoxFramebuffer
|
||||
00100228 00000190 T drawStringFramebuffer
|
||||
001003b8 00000070 T disableBacklight
|
||||
00100428 00000038 T enableBacklight
|
||||
00100460 00000108 T inet_pton4
|
||||
00100568 00000240 T preRenderKeyboard
|
||||
001007a8 0000002c T drawKeyboard
|
||||
001007d4 0000009c T hang
|
||||
00100870 00000080 t getSetting
|
||||
001008f0 00000198 T readSettings
|
||||
00100a88 00000068 T openSocket
|
||||
00100af0 00000034 T sendBuf
|
||||
00100b24 0000003c T receiveBuffer
|
||||
00100b60 00000050 T sendConnectionRequest
|
||||
00100bb0 00000094 T sendKeys
|
||||
00100c44 T __aeabi_uldivmod
|
||||
00100c80 00000004 W __aeabi_idiv0
|
||||
00100c80 00000004 W __aeabi_ldiv0
|
||||
00100c84 00000018 T setjmp
|
||||
00100c9c 0000001c T longjmp
|
||||
00100cc8 00000390 T strcmp
|
||||
00101050 T __aeabi_uidiv
|
||||
00101050 000001ec T __udivsi3
|
||||
00101050 t .udivsi3_skip_div0_test
|
||||
0010123c 00000020 T __aeabi_uidivmod
|
||||
0010125c T __aeabi_idiv
|
||||
0010125c 00000220 T __divsi3
|
||||
00101264 t .divsi3_skip_div0_test
|
||||
0010147c 00000020 T __aeabi_idivmod
|
||||
0010149c T __aeabi_drsub
|
||||
001014a4 000002b0 T __aeabi_dsub
|
||||
001014a4 000002b0 T __subdf3
|
||||
001014a8 000002ac T __adddf3
|
||||
001014a8 000002ac T __aeabi_dadd
|
||||
00101754 00000024 T __aeabi_ui2d
|
||||
00101754 00000024 T __floatunsidf
|
||||
00101778 00000028 T __aeabi_i2d
|
||||
00101778 00000028 T __floatsidf
|
||||
001017a0 00000048 T __aeabi_f2d
|
||||
001017a0 00000048 T __extendsfdf2
|
||||
001017e8 00000074 T __aeabi_ul2d
|
||||
001017e8 00000074 T __floatundidf
|
||||
001017fc 00000060 T __aeabi_l2d
|
||||
001017fc 00000060 T __floatdidf
|
||||
0010185c 00000014 T __restore_core_regs
|
||||
0010185c 00000014 T restore_core_regs
|
||||
00101870 T __gnu_Unwind_Restore_VFP
|
||||
00101878 T __gnu_Unwind_Save_VFP
|
||||
00101880 T __gnu_Unwind_Restore_VFP_D
|
||||
00101888 T __gnu_Unwind_Save_VFP_D
|
||||
00101890 T __gnu_Unwind_Restore_VFP_D_16_to_31
|
||||
00101898 T __gnu_Unwind_Save_VFP_D_16_to_31
|
||||
001018a0 T __gnu_Unwind_Restore_WMMXD
|
||||
001018e4 T __gnu_Unwind_Save_WMMXD
|
||||
00101928 T __gnu_Unwind_Restore_WMMXC
|
||||
0010193c T __gnu_Unwind_Save_WMMXC
|
||||
00101950 00000024 T ___Unwind_RaiseException
|
||||
00101950 00000024 T _Unwind_RaiseException
|
||||
00101974 00000024 T ___Unwind_Resume
|
||||
00101974 00000024 T _Unwind_Resume
|
||||
00101998 00000024 T ___Unwind_Resume_or_Rethrow
|
||||
00101998 00000024 T _Unwind_Resume_or_Rethrow
|
||||
001019bc 00000024 T ___Unwind_ForcedUnwind
|
||||
001019bc 00000024 T _Unwind_ForcedUnwind
|
||||
001019e0 00000024 T ___Unwind_Backtrace
|
||||
001019e0 00000024 T _Unwind_Backtrace
|
||||
00101a04 t __do_global_dtors_aux
|
||||
00101a44 t frame_dummy
|
||||
00101a70 00000490 T main
|
||||
00101f00 000000d0 t gfxPresentFramebuffer
|
||||
00101fd0 000000ec T gfxSetScreenFormat
|
||||
001020bc 00000010 T gfxSetDoubleBuffering
|
||||
001020cc 000000e0 T gfxInit
|
||||
001021ac 00000010 T gfxInitDefault
|
||||
001021bc 000000b4 T gfxExit
|
||||
00102270 000000a0 T gfxGetFramebuffer
|
||||
00102310 00000104 T gfxFlushBuffers
|
||||
00102414 00000050 T gfxSwapBuffers
|
||||
00102464 00000160 T irrstInit
|
||||
001025c4 000000cc T irrstExit
|
||||
00102690 000000b4 T irrstScanInput
|
||||
00102744 00000024 T irrstKeysHeld
|
||||
00102768 00000018 T irrstCstickRead
|
||||
00102780 00000c64 t gspHardwareInit
|
||||
001033e4 00000248 T gspInit
|
||||
0010362c 000000f0 T gspExit
|
||||
0010371c 00000010 T gspHasGpuRight
|
||||
0010372c 000000a0 T gspPresentBuffer
|
||||
001037cc 00000044 T gspWaitForEvent
|
||||
00103810 00000004 W gxCmdQueueInterrupt
|
||||
00103814 00000158 t gspEventThreadMain
|
||||
0010396c 00000064 T GSPGPU_WriteHWRegs
|
||||
001039d0 00000068 T GSPGPU_ReadHWRegs
|
||||
00103a38 00000050 T GSPGPU_FlushDataCache
|
||||
00103a88 00000034 T GSPGPU_SetLcdForceBlack
|
||||
00103abc 00000068 T GSPGPU_AcquireRight
|
||||
00103b24 00000048 T GSPGPU_ReleaseRight
|
||||
00103b6c 0000007c T GSPGPU_ImportDisplayCaptureInfo
|
||||
00103be8 0000002c T GSPGPU_SaveVramSysArea
|
||||
00103c14 0000002c T GSPGPU_RestoreVramSysArea
|
||||
00103c40 00000024 W hidShouldUseIrrst
|
||||
00103c64 0000018c T hidInit
|
||||
00103df0 000000e8 T hidExit
|
||||
00103ed8 000002a4 T hidScanInput
|
||||
0010417c 00000010 T hidKeysHeld
|
||||
0010418c 00000018 T hidTouchRead
|
||||
001041a4 00000018 T hidCircleRead
|
||||
001041bc 00000020 T hidAccelRead
|
||||
001041dc 00000020 T hidGyroRead
|
||||
001041fc 0000002c T HIDUSER_EnableAccelerometer
|
||||
00104228 0000002c T HIDUSER_EnableGyroscope
|
||||
00104254 00000038 T HIDUSER_GetSoundVolume
|
||||
0010428c 0000008c T acInit
|
||||
00104318 0000003c T acExit
|
||||
00104354 00000038 T ACU_GetWifiStatus
|
||||
0010438c 000001ac t aptConvertScreenForCapture
|
||||
00104538 00000008 W aptDspSleep
|
||||
00104540 00000004 W aptDspWakeup
|
||||
00104544 00000004 W aptDspCancel
|
||||
00104548 00000158 T aptSendCommand
|
||||
001046a0 00000044 t aptExitProcess
|
||||
001046e4 0000038c T aptExit
|
||||
00104a70 000000e0 T aptHandleSleep
|
||||
00104b50 00000084 T APT_SleepIfShellClosed
|
||||
00104bd4 00000084 T aptSetSleepAllowed
|
||||
00104c58 00000084 T APT_UnlockTransition
|
||||
00104ce0 000004a4 t aptEventHandler
|
||||
00105184 000000b0 T APT_ReceiveParameter
|
||||
00105234 000000ac t aptReceiveParameter.constprop.0
|
||||
001052e0 000002ac t aptScreenTransfer
|
||||
0010558c 00000320 t aptWaitForWakeUp.isra.0
|
||||
001058ac 000000f8 T aptJumpToHomeMenu
|
||||
001059a4 00000048 T aptMainLoop
|
||||
001059ec 0000022c T aptInit
|
||||
00105c18 0000007c T APT_CheckNew3DS
|
||||
00105c94 0000002c T GSPLCD_PowerOnAllBacklights
|
||||
00105cc0 0000002c T GSPLCD_PowerOffAllBacklights
|
||||
00105cec 000000cc T fsInit
|
||||
00105db8 0000003c T fsExit
|
||||
00105df4 00000060 T fsExemptFromSession
|
||||
00105e54 00000050 T fsUnexemptFromSession
|
||||
00105ea4 00000084 T fsMakePath
|
||||
00105f28 000000cc T FSUSER_OpenFile
|
||||
00105ff4 000000d4 T FSUSER_OpenFileDirectly
|
||||
001060c8 000000bc T FSUSER_DeleteFile
|
||||
00106184 000000f8 T FSUSER_RenameFile
|
||||
0010627c 000000bc T FSUSER_DeleteDirectory
|
||||
00106338 000000d4 T FSUSER_CreateFile
|
||||
0010640c 000000c4 T FSUSER_CreateDirectory
|
||||
001064d0 000000f8 T FSUSER_RenameDirectory
|
||||
001065c8 000000b4 T FSUSER_OpenDirectory
|
||||
0010667c 00000094 T FSUSER_OpenArchive
|
||||
00106710 0000008c T FSUSER_CloseArchive
|
||||
0010679c 00000074 T FSUSER_GetSdmcArchiveResource
|
||||
00106810 00000064 T FSUSER_IsSdmcWritable
|
||||
00106874 00000058 T FSFILE_Read
|
||||
001068cc 00000060 T FSFILE_Write
|
||||
0010692c 00000038 T FSFILE_GetSize
|
||||
00106964 00000028 T FSFILE_SetSize
|
||||
0010698c 0000003c T FSFILE_Close
|
||||
001069c8 00000024 T FSFILE_Flush
|
||||
001069ec 00000050 T FSDIR_Read
|
||||
00106a3c 0000003c T FSDIR_Close
|
||||
00106a78 0000014c T socket
|
||||
00106bc4 00000014 t soc_open
|
||||
00106bd8 00000034 t soc_read
|
||||
00106c0c 00000034 t soc_write
|
||||
00106c40 0000008c t soc_close
|
||||
00106ccc 0000014c T socInit
|
||||
00106e18 00000088 T socExit
|
||||
00106ea0 0000003c T _net_convert_error
|
||||
00106edc 00000174 T bind
|
||||
00107050 00000140 T fcntl
|
||||
00107190 00000140 T socuipc_cmd7
|
||||
001072d0 0000015c T socuipc_cmd8
|
||||
0010742c 00000024 T soc_recvfrom
|
||||
00107450 000000a8 T recvfrom
|
||||
001074f8 00000158 T socuipc_cmd9
|
||||
00107650 0000015c T socuipc_cmda
|
||||
001077ac 00000024 T soc_sendto
|
||||
001077d0 000000a8 T sendto
|
||||
00107878 00000038 W __libctru_init
|
||||
001078b0 00000170 W __system_initArgv
|
||||
00107a20 T svcControlMemory
|
||||
00107a40 T svcQueryMemory
|
||||
00107a70 T svcExitProcess
|
||||
00107a78 T svcCreateThread
|
||||
00107a98 T svcExitThread
|
||||
00107aa0 T svcSleepThread
|
||||
00107aa8 T svcReleaseMutex
|
||||
00107ab0 T svcCreateEvent
|
||||
00107ac4 T svcSignalEvent
|
||||
00107acc T svcClearEvent
|
||||
00107ad4 T svcCreateMemoryBlock
|
||||
00107aec T svcMapMemoryBlock
|
||||
00107af4 T svcUnmapMemoryBlock
|
||||
00107afc T svcCreateAddressArbiter
|
||||
00107b10 T svcArbitrateAddressNoTimeout
|
||||
00107b18 T svcCloseHandle
|
||||
00107b20 T svcWaitSynchronization
|
||||
00107b28 T svcWaitSynchronizationN
|
||||
00107b50 T svcDuplicateHandle
|
||||
00107b64 T svcConnectToPort
|
||||
00107b78 T svcSendSyncRequest
|
||||
00107b80 T svcGetResourceLimit
|
||||
00107b94 T svcGetResourceLimitLimitValues
|
||||
00107b9c T svcGetResourceLimitCurrentValues
|
||||
00107ba4 T svcBreak
|
||||
00107bac W initSystem
|
||||
00107bfc W __ctru_exit
|
||||
00107c14 00000024 t addrMapNodeComparator(rbtree_node const*, rbtree_node const*)
|
||||
00107c38 00000004 t addrMapNodeDestructor(rbtree_node*)
|
||||
00107c3c 0000024c T vramMemAlignAt
|
||||
00107e88 0000000c T vramAlloc
|
||||
00107e94 00000090 T vramFree
|
||||
00107f24 00000024 t addrMapNodeComparator(rbtree_node const*, rbtree_node const*)
|
||||
00107f48 00000004 t addrMapNodeDestructor(rbtree_node*)
|
||||
00107f4c 00000120 T linearMemAlign
|
||||
0010806c 00000008 T linearAlloc
|
||||
00108074 0000005c T linearFree
|
||||
001080d0 00000080 T MemPool::CoalesceRight(MemBlock*)
|
||||
00108150 0000016c T MemPool::Allocate(MemChunk&, unsigned long, int)
|
||||
001082bc 000000fc T MemPool::Deallocate(MemChunk const&)
|
||||
001083b8 00000030 T MemPool::GetFreeSpace()
|
||||
001083e8 00000084 W envGetHandle
|
||||
0010846c 00000050 W envDestroyHandles
|
||||
001084bc 0000000c T __sync_init
|
||||
001084c8 00000018 T __sync_fini
|
||||
001084e0 0000002c T syncArbitrateAddress
|
||||
0010850c 000000ac T LightLock_Lock
|
||||
001085b8 00000040 T LightLock_Unlock
|
||||
001085f8 00000030 T RecursiveLock_Lock
|
||||
00108628 00000054 T RecursiveLock_Unlock
|
||||
0010867c 00000040 T LightEvent_Init
|
||||
001086bc 000000a4 T LightEvent_Clear
|
||||
00108760 000000c8 T LightEvent_Signal
|
||||
00108828 00000050 T LightEvent_TryWait
|
||||
00108878 000000a0 T LightEvent_Wait
|
||||
00108918 00000034 T __ctru_speedup_config
|
||||
0010894c 0000012c T srvInit
|
||||
00108a78 00000058 T srvExit
|
||||
00108ad0 00000060 T srvEnableNotification
|
||||
00108b30 000000a0 T srvGetServiceHandleDirect
|
||||
00108bd0 00000038 T srvGetServiceHandle
|
||||
00108c08 00000034 T srvSubscribe
|
||||
00108c3c 00000060 T srvReceiveNotification
|
||||
00108c9c 00000038 T srvPublishToSubscriber
|
||||
00108cd4 000001d8 T threadCreate
|
||||
00108eac 0000002c T threadFree
|
||||
00108ed8 00000024 T threadJoin
|
||||
00108efc 00000030 T threadGetCurrent
|
||||
00108f2c 00000040 T threadExit
|
||||
00108f6c 00000020 t _thread_begin
|
||||
00108f8c 000000b4 t mappableFindAddressWithin
|
||||
00109040 00000028 T mappableInit
|
||||
00109068 00000080 T mappableAlloc
|
||||
001090e8 00000004 T mappableFree
|
||||
001090ec 0000000c T srvPmGetSessionHandle
|
||||
001090f8 00000074 T ptmSysmInit
|
||||
0010916c 0000003c T ptmSysmExit
|
||||
001091a8 00000034 T PTMSYSM_ConfigureNew3DSCPU
|
||||
001091dc 00000010 T rbtree_init
|
||||
001091ec 000001b0 t do_insert
|
||||
0010939c 00000008 T rbtree_insert
|
||||
001093a4 00000090 T rbtree_rotate
|
||||
00109434 00000318 T rbtree_remove
|
||||
0010974c 00000074 T rbtree_find
|
||||
001097c0 00000030 W __appInit
|
||||
001097f0 00000030 T __syscall_getreent
|
||||
00109820 00000004 T __syscall_lock_acquire
|
||||
00109824 00000004 T __syscall_lock_release
|
||||
00109828 00000004 T __syscall_lock_acquire_recursive
|
||||
0010982c 00000004 T __syscall_lock_release_recursive
|
||||
00109830 00000004 T __syscall_exit
|
||||
00109834 00000050 T initThreadVars
|
||||
00109884 00000080 T __system_initSyscalls
|
||||
00109908 000001e0 W __system_allocateHeaps
|
||||
00109ae8 00000030 W __appExit
|
||||
00109b18 00000090 W __libctru_exit
|
||||
00109ba8 00000014 t archive_link
|
||||
00109bbc 00000014 t archive_dirreset
|
||||
00109bd0 00000014 t archive_chmod
|
||||
00109be4 00000024 t error_cmp
|
||||
00109c08 00000050 t archive_translate_error
|
||||
00109c58 000000c8 t archive_seek
|
||||
00109d20 0000007c t _archiveInit.part.0
|
||||
00109d9c 000000c4 t archiveFindDevice.part.0
|
||||
00109e60 00000280 t archive_utf16path
|
||||
0010a0e0 0000009c t _archiveUnmountDeviceStruct.part.0
|
||||
0010a17c 00000014 t archive_fchmod
|
||||
0010a190 00000014 t archive_statvfs
|
||||
0010a1a4 00000164 t _archiveMountDevice
|
||||
0010a308 000000e8 t archive_diropen
|
||||
0010a3f0 000000a4 t archive_fstat
|
||||
0010a494 0000006c t archive_fsync
|
||||
0010a500 0000006c t archive_close
|
||||
0010a56c 00000070 t archive_dirclose
|
||||
0010a5dc 000000e8 t sdmc_statvfs
|
||||
0010a6c4 000000ec t archive_chdir
|
||||
0010a7b0 0000007c t archive_ftruncate
|
||||
0010a82c 000000ac t archive_read
|
||||
0010a8d8 000000a4 t archive_unlink
|
||||
0010a97c 000000bc t archive_rmdir
|
||||
0010aa38 000000dc t archive_mkdir
|
||||
0010ab14 00000194 t archive_stat
|
||||
0010aca8 00000160 t archive_dirnext
|
||||
0010ae08 00000124 t archive_write
|
||||
0010af2c 0000020c t archive_open
|
||||
0010b138 00000278 t archive_rename
|
||||
0010b3b0 0000019c T archiveMountSdmc
|
||||
0010b54c 00000054 T archiveUnmountAll
|
||||
0010b5a0 0000005c T rbtree_node_next
|
||||
0010b5fc 000000c0 T utf8_to_utf16
|
||||
0010b6bc 0000013c T decode_utf8
|
||||
0010b7f8 000000e8 T utf16_to_utf8
|
||||
0010b8e0 T __aeabi_read_tp
|
||||
0010b8ec 00000054 T encode_utf16
|
||||
0010b940 000000e0 T encode_utf8
|
||||
0010ba20 00000064 T decode_utf16
|
||||
0010ba84 00000120 T __udivmoddi4
|
||||
0010bba4 00000020 T memalign
|
||||
0010bbc4 0000014c T _memalign_r
|
||||
0010bd10 00000078 T bsearch
|
||||
0010bd88 00000074 T sscanf
|
||||
0010bdfc 00000044 T __sread
|
||||
0010be40 00000008 T __seofread
|
||||
0010be48 00000068 T __swrite
|
||||
0010beb0 00000044 T __sseek
|
||||
0010bef4 00000008 T __sclose
|
||||
0010befc 00000004 W __call_exitprocs
|
||||
0010bf00 00000030 T exit
|
||||
0010bf30 000000f8 T _malloc_trim_r
|
||||
0010c028 000002e8 T _free_r
|
||||
0010c310 00000130 T strchr
|
||||
0010c440 00000018 T malloc
|
||||
0010c458 00000018 T free
|
||||
0010c470 00000050 t get_arg
|
||||
0010c4c0 00002bf8 T __ssvfscanf_r
|
||||
0010f0b8 0000079c T _malloc_r
|
||||
0010f854 000000a4 T _vsnprintf_r
|
||||
0010f8f8 00000038 T vsnprintf
|
||||
0010f930 000000f4 T memset
|
||||
0010fa24 0000000c T __malloc_lock
|
||||
0010fa30 0000000c T __malloc_unlock
|
||||
0010fa3c 00000090 T strlen
|
||||
0010facc 0000022c T __sflush_r
|
||||
0010fcf8 00000094 T _fflush_r
|
||||
0010fd8c 000000e4 T strncat
|
||||
0010fe70 000000e4 T strncmp
|
||||
0010ff54 00000070 T _fwalk_sglue
|
||||
0010ffc4 000000c4 T strncpy
|
||||
00110088 0000001c t stdio_exit_handler
|
||||
001100a4 0000005c t cleanup_stdio
|
||||
00110100 00000154 t global_stdio_init.part.0
|
||||
00110254 0000005c T __sinit
|
||||
001102b0 0000000c T __sfp_lock_acquire
|
||||
001102bc 0000000c T __sfp_lock_release
|
||||
001102c8 00000048 T strnlen
|
||||
00110310 00000064 t sulp
|
||||
00110378 000013a4 T _strtod_l
|
||||
0011171c 0000003c T _strtod_r
|
||||
00111758 000001b0 t _strtol_l.part.0
|
||||
00111908 00000060 T _strtol_r
|
||||
00111968 00000020 T realloc
|
||||
00111988 000001d8 t _strtoul_l.isra.0
|
||||
00111b60 00000030 T _strtoul_r
|
||||
00111b90 00000034 T strtoul
|
||||
00111bc4 00000024 T __locale_mb_cur_max
|
||||
00111be8 00000128 t critical_factorization
|
||||
00111d10 00000364 t two_way_long_needle
|
||||
00112074 00000248 T strstr
|
||||
001122bc 00000024 T _localeconv_r
|
||||
001122e0 000000f0 T __utf8_wctomb
|
||||
001123d0 0000011c T memcpy
|
||||
001124ec 000000dc T stpncpy
|
||||
001125c8 00000084 T __libc_init_array
|
||||
0011264c 0000003c T __libc_fini_array
|
||||
00112688 0000000c T __errno
|
||||
00112698 00000010 T nan
|
||||
001126a8 0000000c T nanf
|
||||
001126b4 00000234 t _strtoll_l.isra.0
|
||||
001128e8 00000030 T _strtoll_r
|
||||
00112918 0000025c t _strtoull_l.isra.0
|
||||
00112b74 00000030 T _strtoull_r
|
||||
00112ba4 00000008 T iswspace
|
||||
00112bac 000000b4 T _mbrtowc_r
|
||||
00112c60 00000038 T iswspace_l
|
||||
00112c98 00000064 T sprintf
|
||||
00112cfc 000000f0 T __sccl
|
||||
00112dec 00000090 T category
|
||||
00112e7c 000000e0 T _sungetc_r
|
||||
00112f5c 0000006c T __ssrefill_r
|
||||
00112fc8 000000c4 T _sfread_r
|
||||
0011308c 000000f0 t rshift
|
||||
0011317c 0000089c T __gethex
|
||||
00113a18 000000d8 T memcmp
|
||||
00113af0 00000148 T _fclose_r
|
||||
00113c38 0000064c t get_arg
|
||||
00114288 00003324 T _svfprintf_r
|
||||
001175ac 0000004c T __match
|
||||
001175f8 0000029c T __hexnan
|
||||
00117894 00000088 T _Balloc
|
||||
0011791c 0000001c T _Bfree
|
||||
00117938 000000f4 T __multadd
|
||||
00117a2c 00000110 T __s2b
|
||||
00117b3c 00000060 T __hi0bits
|
||||
00117b9c 0000009c T __lo0bits
|
||||
00117c38 000000a4 T __i2b
|
||||
00117cdc 00000204 T __multiply
|
||||
00117ee0 00000128 T __pow5mult
|
||||
00118008 00000140 T __lshift
|
||||
00118148 00000058 T __mcmp
|
||||
001181a0 000001fc T __mdiff
|
||||
0011839c 00000068 T __ulp
|
||||
00118404 000000d0 T __b2d
|
||||
001184d4 00000124 T __d2b
|
||||
001185f8 00000078 T __ratio
|
||||
00118670 00000088 T __copybits
|
||||
001186f8 0000005c T __any_on
|
||||
00118754 000004a0 T _realloc_r
|
||||
00118bf4 000002f8 T __utf8_mbtowc
|
||||
00118eec 000000e0 T memchr
|
||||
00118fd0 00000088 T frexp
|
||||
00119058 000000a0 T _wcrtomb_r
|
||||
001190f8 00000028 T _wcsrtombs_r
|
||||
00119120 000000a8 T __submore
|
||||
001191c8 000000c0 T _calloc_r
|
||||
00119288 0000005c T __assert_func
|
||||
001192e4 0000018c T __ssprint_r
|
||||
00119470 0000003c T fiprintf
|
||||
001194ac 000001b4 t quorem
|
||||
00119660 00001218 T _dtoa_r
|
||||
0011a878 00000150 T memmove
|
||||
0011a9c8 00000188 T _wcsnrtombs_l
|
||||
0011ab50 00000064 T _wcsnrtombs_r
|
||||
0011abb4 00000014 T abort
|
||||
0011abc8 0000064c t get_arg
|
||||
0011b214 00000030 T __sprint_r
|
||||
0011b244 00002304 T _vfiprintf_r
|
||||
0011d548 000000b8 t __sbprintf
|
||||
0011d600 00000138 T __swsetup_r
|
||||
0011d738 00000090 T _raise_r
|
||||
0011d7c8 00000018 T raise
|
||||
0011d7e0 000004b4 T __sfvwrite_r
|
||||
0011dc94 0000012c T __smakebuf_r
|
||||
0011ddc0 00000020 T _exit
|
||||
0011dde0 0000013c T chdir
|
||||
0011df1c 000001cc T _concatenate_path
|
||||
0011e0e8 00000078 T _fstat_r
|
||||
0011e160 00000014 T _getpid_r
|
||||
0011e174 0000002c T __getreent
|
||||
0011e1a0 0000008c T __release_handle
|
||||
0011e22c 000000b0 T __alloc_handle
|
||||
0011e2dc 0000003c T __get_handle
|
||||
0011e318 000000f4 T _close_r
|
||||
0011e40c 00000008 t null_write
|
||||
0011e414 00000018 T setDefaultDevice
|
||||
0011e42c 000000c8 T FindDevice
|
||||
0011e4f4 00000028 T RemoveDevice
|
||||
0011e51c 0000009c T AddDevice
|
||||
0011e5b8 00000020 T GetDeviceOpTab
|
||||
0011e5d8 00000008 T _isatty_r
|
||||
0011e5e0 00000014 T _kill_r
|
||||
0011e5f4 00000084 T _lseek_r
|
||||
0011e678 00000080 T _read_r
|
||||
0011e6f8 00000078 W _sbrk_r
|
||||
0011e770 0000001c T __libc_lock_acquire
|
||||
0011e78c 0000001c T __libc_lock_release
|
||||
0011e7a8 0000001c T __libc_lock_acquire_recursive
|
||||
0011e7c4 0000001c T __libc_lock_release_recursive
|
||||
0011e7e0 00000080 T _write_r
|
||||
0011e860 00000038 T __aeabi_d2lz
|
||||
0011e860 00000038 T __fixdfdi
|
||||
0011e898 00000040 T __aeabi_d2ulz
|
||||
0011e898 00000040 T __fixunsdfdi
|
||||
0011e8d8 00000018 t selfrel_offset31
|
||||
0011e8f0 00000090 t search_EIT_table
|
||||
0011e980 00000040 t __gnu_unwind_get_pr_addr
|
||||
0011e9c0 0000010c t get_eit_entry
|
||||
0011eacc 00000088 t restore_non_core_regs
|
||||
0011eb54 00000014 t _Unwind_decode_typeinfo_ptr.constprop.0
|
||||
0011eb68 00000004 t _Unwind_DebugHook
|
||||
0011eb6c 00000064 t unwind_phase2
|
||||
0011ebd0 00000140 t unwind_phase2_forced
|
||||
0011ed10 000000a4 T __gnu_Unwind_RaiseException
|
||||
0011edb4 00000028 T __gnu_Unwind_ForcedUnwind
|
||||
0011eddc 00000074 T __gnu_Unwind_Resume
|
||||
0011ee50 00000020 T __gnu_Unwind_Resume_or_Rethrow
|
||||
0011ee70 0000006c T _Unwind_VRS_Get
|
||||
0011eedc 0000002c t _Unwind_GetGR
|
||||
0011ef08 0000006c T _Unwind_VRS_Set
|
||||
0011ef74 0000002c t _Unwind_SetGR
|
||||
0011efa0 000000c0 T __gnu_Unwind_Backtrace
|
||||
0011f060 00000410 t __gnu_unwind_pr_common
|
||||
0011f470 00000008 T __aeabi_unwind_cpp_pr0
|
||||
0011f478 00000008 W __aeabi_unwind_cpp_pr1
|
||||
0011f480 00000008 W __aeabi_unwind_cpp_pr2
|
||||
0011f488 00000424 T _Unwind_VRS_Pop
|
||||
0011f8ac 00000064 t next_unwind_byte
|
||||
0011f910 00000464 T __gnu_unwind_execute
|
||||
0011fd74 00000048 T strrchr
|
||||
0011fdbc T _fini
|
||||
00120000 00000300 r fonts
|
||||
00120300 0000000b r digits.0
|
||||
00120348 0000003c R keyboardChars
|
||||
001204fc 00000008 r morton_y.2
|
||||
00120504 00000008 r morton_x.3
|
||||
0012050c 00000008 r s_sleepWakeEvents.4
|
||||
00120530 0000004d r _net_error_code_map
|
||||
001205b8 00000030 r error_table
|
||||
001205f0 00000080 r archive_devoptab
|
||||
00120678 00000022 r basefix.0
|
||||
001206ac 00000014 r fpinan.0
|
||||
001206c0 00000014 r fpi.1
|
||||
001206d8 00000028 r tinytens
|
||||
00120744 00000101 R _ctype_
|
||||
00120848 00003528 r categories
|
||||
00123dd0 00000100 R __hexdig
|
||||
00123f0c 00000010 r zeroes.0
|
||||
00123f1c 00000010 r blanks.1
|
||||
00123f70 0000000c r p05.0
|
||||
00123f80 00000028 R __mprec_bigtens
|
||||
00123fa8 000000c8 R __mprec_tens
|
||||
001240b0 0000006c R __action_table
|
||||
0012411c 0000006c R __state_table
|
||||
00124188 00000100 R __chclass
|
||||
00124298 r .LC2
|
||||
001242e0 00000010 r zeroes.0
|
||||
001242f0 00000010 r blanks.1
|
||||
00124300 00000080 R dotab_stdnull
|
||||
00124380 R __tdata_align
|
||||
00124384 r __EH_FRAME_BEGIN__
|
||||
00124384 R __exidx_start
|
||||
00124414 R __exidx_end
|
||||
00125000 00000001 D keyboardToggle
|
||||
00125004 00000014 D defaultSettings
|
||||
00125018 00000004 D sockaddr_in_sizePtr
|
||||
0012501c 00000004 d kCount
|
||||
00125020 00000004 d kInterval
|
||||
00125024 00000004 d kDelay
|
||||
00125028 00000004 d aptChainloadDeliverArgSize
|
||||
0012502c 00000080 d soc_devoptab
|
||||
001250ac W __stacksize__
|
||||
001250b0 00000004 D __malloc_sbrk_base
|
||||
001250b4 00000004 D __malloc_trim_threshold
|
||||
001250b8 00000408 D __malloc_av_
|
||||
001254c0 0000000c D __sglue
|
||||
001254cc 0000016c D __global_locale
|
||||
00125638 00000004 D _impure_ptr
|
||||
00125640 00000120 D _impure_data
|
||||
00125760 00000400 d _current_working_directory
|
||||
00125b60 00001000 d handles
|
||||
00126b60 0000000c d __stderr_handle
|
||||
00126b6c 0000000c d __stdout_handle
|
||||
00126b78 0000000c d __stdin_handle
|
||||
00126b84 0000008c D devoptab_list
|
||||
00126c10 00000004 d defaultDevice
|
||||
00126c1c d _GLOBAL_OFFSET_TABLE_
|
||||
00126c28 d __frame_dummy_init_array_entry
|
||||
00126c28 D __init_array_start
|
||||
00126c28 B __preinit_array_end
|
||||
00126c28 B __preinit_array_start
|
||||
00126c28 D __tdata_lma
|
||||
00126c28 D __tdata_lma_end
|
||||
00126c2c d __do_global_dtors_aux_fini_array_entry
|
||||
00126c2c D __fini_array_start
|
||||
00126c2c D __init_array_end
|
||||
00126c30 00000004 b brightnessMain
|
||||
00126c30 D __bss_start__
|
||||
00126c30 D __fini_array_end
|
||||
00126c34 00000004 b brightnessSub
|
||||
00126c38 00038400 B keyboardGfx
|
||||
0015f038 00000001 B keyboardActive
|
||||
0015f040 000000a0 b exitJmp
|
||||
0015f0e0 00000004 B fileHandle
|
||||
0015f0e4 00000014 B settings
|
||||
0015f0f8 00000004 B sock
|
||||
0015f0fc 00000010 B sain
|
||||
0015f10c 00000010 B saout
|
||||
0015f11c 00000028 B outBuf
|
||||
0015f144 00000028 B rcvBuf
|
||||
0015f16c b completed.1
|
||||
0015f170 b object.0
|
||||
0015f188 00000004 b screenAlloc
|
||||
0015f18c 00000004 b screenFree
|
||||
0015f190 00000002 b gfxIsDoubleBuf
|
||||
0015f194 00000002 b gfxCurBuf
|
||||
0015f196 00000001 b gfxIsVram
|
||||
0015f197 00000001 b gfxTopMode
|
||||
0015f198 00000002 b gfxFramebufferFormats
|
||||
0015f19c 00000004 b gfxBottomFramebufferMaxSize
|
||||
0015f1a0 00000004 b gfxTopFramebufferMaxSize
|
||||
0015f1a8 00000008 b gfxBottomFramebuffers
|
||||
0015f1b0 00000008 b gfxTopFramebuffers
|
||||
0015f1b8 00000004 b irrstRefCount
|
||||
0015f1bc 00000004 b csPos
|
||||
0015f1c0 00000004 b kHeld
|
||||
0015f1c4 00000004 B irrstSharedMem
|
||||
0015f1c8 00000004 B irrstEvent
|
||||
0015f1cc 00000004 B irrstMemHandle
|
||||
0015f1d0 00000004 B irrstHandle
|
||||
0015f1d4 00000007 b gspEventCbOneShot
|
||||
0015f1dc 0000001c b gspEventCbData
|
||||
0015f1f8 0000001c b gspEventCb
|
||||
0015f214 00000038 b gspEvents
|
||||
0015f24c 00000004 b gspLastEvent
|
||||
0015f250 00000001 b gspRunEvents
|
||||
0015f254 00000004 b gspEventThread
|
||||
0015f258 00000004 b gspEvent
|
||||
0015f25c 00000001 b gspGpuRight
|
||||
0015f25d 00000001 b gspThreadId
|
||||
0015f260 00000004 b gspSharedMem
|
||||
0015f264 00000004 b gspSharedMemHandle
|
||||
0015f268 00000004 b gspRefCount
|
||||
0015f26c 00000004 b gspGpuHandle
|
||||
0015f270 00000001 b usingIrrst
|
||||
0015f274 00000004 b hidRefCount
|
||||
0015f278 00000006 b gRate
|
||||
0015f280 00000006 b aVec
|
||||
0015f288 00000004 b cPos
|
||||
0015f28c 00000004 b tPos
|
||||
0015f290 00000004 b kRepeat
|
||||
0015f294 00000004 b kUp
|
||||
0015f298 00000004 b kDown
|
||||
0015f29c 00000004 b kHeld
|
||||
0015f2a0 00000004 b kOld
|
||||
0015f2a4 00000004 B hidSharedMem
|
||||
0015f2a8 00000014 B hidEvents
|
||||
0015f2bc 00000004 B hidMemHandle
|
||||
0015f2c0 00000004 B hidHandle
|
||||
0015f2c4 00000004 b acRefCount
|
||||
0015f2c8 00000004 b acHandle
|
||||
0015f2cc 00000001 b flagValue.0
|
||||
0015f2cd 00000001 b flagInit.1
|
||||
0015f2d0 00000004 b serviceName.6
|
||||
0015f2d4 00000001 b aptChainloadFlags
|
||||
0015f2d5 00000001 b aptChainloadMediatype
|
||||
0015f2d8 00000020 b aptChainloadHmac
|
||||
0015f2f8 00000300 b aptChainloadDeliverArg
|
||||
0015f5f8 00000008 b aptChainloadTid
|
||||
0015f600 00001000 b aptParameters
|
||||
00160600 00000004 b aptFlags
|
||||
00160604 00000001 b aptHomeButtonState
|
||||
00160608 00000004 b aptMessageFuncData
|
||||
0016060c 00000004 b aptMessageFunc
|
||||
00160610 0000000c b aptFirstHook
|
||||
0016061c 00000001 b aptEventHandlerThreadQuit
|
||||
00160620 00000004 b aptEventHandlerThread
|
||||
00160624 00000008 b aptSleepEvent
|
||||
0016062c 00000008 b aptReceiveEvent
|
||||
00160634 00000008 b aptEvents
|
||||
0016063c 00000004 b aptLockHandle
|
||||
00160640 00000004 b aptRefCount
|
||||
00160644 00000004 B gspLcdHandle
|
||||
00160648 00000080 b fsExemptArchives
|
||||
001606c8 00000004 b fsuRefCount
|
||||
001606cc 00000004 b fsuHandle
|
||||
001606d0 00000004 B socMemhandle
|
||||
001606d4 00000004 B SOCU_handle
|
||||
001606d8 00000004 B __system_retAddr
|
||||
001606dc 00000004 B __system_argv
|
||||
001606e0 00000004 B __system_argc
|
||||
001606e4 b saved_stack
|
||||
001606f0 00000008 b sVramPoolB
|
||||
001606f8 00000008 b sVramPoolA
|
||||
00160700 0000000c b sAddrMap
|
||||
00160710 00000008 b sLinearPool
|
||||
00160718 0000000c b sAddrMap
|
||||
00160724 00000004 b arbiter
|
||||
00160728 00000001 V __ctru_speedup
|
||||
0016072c 00000004 B __3dslink_host
|
||||
00160730 00000004 b srvRefCount
|
||||
00160734 00000004 b srvHandle
|
||||
00160738 00000004 b currentAddr
|
||||
0016073c 00000004 b maxAddr
|
||||
00160740 00000004 b minAddr
|
||||
00160744 00000004 b srvPmHandle
|
||||
00160748 00000004 b ptmSysmRefCount
|
||||
0016074c 00000004 b ptmSysmHandle
|
||||
00160750 00000004 V __ctru_linear_heap_size
|
||||
00160754 00000004 V __ctru_heap_size
|
||||
00160758 00000004 B __ctru_linear_heap
|
||||
0016075c 00000004 B __ctru_heap
|
||||
00160760 000005c0 b archive_devices
|
||||
00160d20 00000004 b archive_device_cwd
|
||||
00160d24 00000001 b archive_initialized
|
||||
00160d28 00000028 B __malloc_current_mallinfo
|
||||
00160d50 00000004 B __malloc_max_total_mem
|
||||
00160d54 00000004 B __malloc_max_sbrked_mem
|
||||
00160d58 00000004 B __malloc_top_pad
|
||||
00160d5c 0000000c b __malloc_recursive_mutex
|
||||
00160d68 0000000c b __sfp_recursive_mutex
|
||||
00160d78 00000168 B __sf
|
||||
00160ee0 00000004 B __stdio_exit_handler
|
||||
00160ee4 00000400 b temp_cwd
|
||||
001612e4 00000004 b __hndl_lock
|
||||
001612e8 00000004 B fake_heap_start
|
||||
001612ec 00000004 B fake_heap_end
|
||||
001612f0 00000004 b heap_start.0
|
||||
001612f4 B __tls_start
|
||||
00161efc B __bss_end__
|
||||
00161efc A __end__
|
||||
00161efc B __tls_end
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,171 @@
|
|||
drawing.o: /home/user/3DSController/3DS/source/drawing.c \
|
||||
/opt/devkitpro/libctru/include/3ds.h \
|
||||
/opt/devkitpro/libctru/include/3ds/types.h \
|
||||
/opt/devkitpro/libctru/include/3ds/result.h \
|
||||
/opt/devkitpro/libctru/include/3ds/ipc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/svc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/exheader.h \
|
||||
/opt/devkitpro/libctru/include/3ds/srv.h \
|
||||
/opt/devkitpro/libctru/include/3ds/errf.h \
|
||||
/opt/devkitpro/libctru/include/3ds/os.h \
|
||||
/opt/devkitpro/libctru/include/3ds/synchronization.h \
|
||||
/opt/devkitpro/libctru/include/3ds/thread.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gfx.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/gspgpu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/console.h \
|
||||
/opt/devkitpro/libctru/include/3ds/env.h \
|
||||
/opt/devkitpro/libctru/include/3ds/util/decompress.h \
|
||||
/opt/devkitpro/libctru/include/3ds/util/utf.h \
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/linear.h \
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/mappable.h \
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/vram.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ac.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/am.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/fs.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ampxi.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/apt.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/boss.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cam.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/y2r.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgnor.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/csnd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/dsp.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/fspxi.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/fsreg.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/frd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/mii.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/gsplcd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/hid.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/irrst.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/sslc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/httpc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/uds.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ndm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/nim.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/nwmext.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ir.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ns.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmapp.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmdbg.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ps.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsysm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmgets.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsets.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxidev.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxipm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/soc.h \
|
||||
/opt/devkitpro/libctru/include/netinet/in.h \
|
||||
/opt/devkitpro/libctru/include/sys/socket.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/mic.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/mvd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/nfc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/news.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/qtm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/srvpm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/loader.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/mcuhwc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cdcchk.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gx.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gpu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/registers.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/enums.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shbin.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shaderProgram.h \
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/ndsp.h \
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/channel.h \
|
||||
/opt/devkitpro/libctru/include/3ds/applets/swkbd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/applets/error.h \
|
||||
/opt/devkitpro/libctru/include/3ds/applets/miiselector.h \
|
||||
/opt/devkitpro/libctru/include/3ds/archive.h \
|
||||
/opt/devkitpro/libctru/include/3ds/romfs.h \
|
||||
/opt/devkitpro/libctru/include/3ds/font.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gdbhio_dev.h \
|
||||
/opt/devkitpro/libctru/include/3ds/3dslink.h \
|
||||
/home/user/3DSController/3DS/include/drawing.h
|
||||
/opt/devkitpro/libctru/include/3ds.h:
|
||||
/opt/devkitpro/libctru/include/3ds/types.h:
|
||||
/opt/devkitpro/libctru/include/3ds/result.h:
|
||||
/opt/devkitpro/libctru/include/3ds/ipc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/svc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/exheader.h:
|
||||
/opt/devkitpro/libctru/include/3ds/srv.h:
|
||||
/opt/devkitpro/libctru/include/3ds/errf.h:
|
||||
/opt/devkitpro/libctru/include/3ds/os.h:
|
||||
/opt/devkitpro/libctru/include/3ds/synchronization.h:
|
||||
/opt/devkitpro/libctru/include/3ds/thread.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gfx.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/gspgpu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/console.h:
|
||||
/opt/devkitpro/libctru/include/3ds/env.h:
|
||||
/opt/devkitpro/libctru/include/3ds/util/decompress.h:
|
||||
/opt/devkitpro/libctru/include/3ds/util/utf.h:
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/linear.h:
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/mappable.h:
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/vram.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ac.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/am.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/fs.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ampxi.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/apt.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/boss.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cam.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/y2r.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgnor.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/csnd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/dsp.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/fspxi.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/fsreg.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/frd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/mii.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/gsplcd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/hid.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/irrst.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/sslc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/httpc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/uds.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ndm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/nim.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/nwmext.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ir.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ns.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmapp.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmdbg.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ps.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsysm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmgets.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsets.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxidev.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxipm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/soc.h:
|
||||
/opt/devkitpro/libctru/include/netinet/in.h:
|
||||
/opt/devkitpro/libctru/include/sys/socket.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/mic.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/mvd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/nfc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/news.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/qtm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/srvpm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/loader.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/mcuhwc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cdcchk.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gx.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gpu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/registers.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/enums.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shbin.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shaderProgram.h:
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/ndsp.h:
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/channel.h:
|
||||
/opt/devkitpro/libctru/include/3ds/applets/swkbd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/applets/error.h:
|
||||
/opt/devkitpro/libctru/include/3ds/applets/miiselector.h:
|
||||
/opt/devkitpro/libctru/include/3ds/archive.h:
|
||||
/opt/devkitpro/libctru/include/3ds/romfs.h:
|
||||
/opt/devkitpro/libctru/include/3ds/font.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gdbhio_dev.h:
|
||||
/opt/devkitpro/libctru/include/3ds/3dslink.h:
|
||||
/home/user/3DSController/3DS/include/drawing.h:
|
Binary file not shown.
|
@ -0,0 +1,177 @@
|
|||
inet_pton.o: /home/user/3DSController/3DS/source/inet_pton.c \
|
||||
/home/user/3DSController/3DS/include/wireless.h \
|
||||
/opt/devkitpro/libctru/include/3ds.h \
|
||||
/opt/devkitpro/libctru/include/3ds/types.h \
|
||||
/opt/devkitpro/libctru/include/3ds/result.h \
|
||||
/opt/devkitpro/libctru/include/3ds/ipc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/svc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/exheader.h \
|
||||
/opt/devkitpro/libctru/include/3ds/srv.h \
|
||||
/opt/devkitpro/libctru/include/3ds/errf.h \
|
||||
/opt/devkitpro/libctru/include/3ds/os.h \
|
||||
/opt/devkitpro/libctru/include/3ds/synchronization.h \
|
||||
/opt/devkitpro/libctru/include/3ds/thread.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gfx.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/gspgpu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/console.h \
|
||||
/opt/devkitpro/libctru/include/3ds/env.h \
|
||||
/opt/devkitpro/libctru/include/3ds/util/decompress.h \
|
||||
/opt/devkitpro/libctru/include/3ds/util/utf.h \
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/linear.h \
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/mappable.h \
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/vram.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ac.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/am.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/fs.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ampxi.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/apt.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/boss.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cam.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/y2r.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgnor.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/csnd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/dsp.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/fspxi.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/fsreg.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/frd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/mii.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/gsplcd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/hid.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/irrst.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/sslc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/httpc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/uds.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ndm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/nim.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/nwmext.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ir.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ns.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmapp.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmdbg.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ps.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsysm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmgets.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsets.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxidev.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxipm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/soc.h \
|
||||
/opt/devkitpro/libctru/include/netinet/in.h \
|
||||
/opt/devkitpro/libctru/include/sys/socket.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/mic.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/mvd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/nfc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/news.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/qtm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/srvpm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/loader.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/mcuhwc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cdcchk.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gx.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gpu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/registers.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/enums.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shbin.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shaderProgram.h \
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/ndsp.h \
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/channel.h \
|
||||
/opt/devkitpro/libctru/include/3ds/applets/swkbd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/applets/error.h \
|
||||
/opt/devkitpro/libctru/include/3ds/applets/miiselector.h \
|
||||
/opt/devkitpro/libctru/include/3ds/archive.h \
|
||||
/opt/devkitpro/libctru/include/3ds/romfs.h \
|
||||
/opt/devkitpro/libctru/include/3ds/font.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gdbhio_dev.h \
|
||||
/opt/devkitpro/libctru/include/3ds/3dslink.h \
|
||||
/opt/devkitpro/libctru/include/netdb.h \
|
||||
/opt/devkitpro/libctru/include/arpa/inet.h \
|
||||
/home/user/3DSController/3DS/include/inet_pton.h
|
||||
/home/user/3DSController/3DS/include/wireless.h:
|
||||
/opt/devkitpro/libctru/include/3ds.h:
|
||||
/opt/devkitpro/libctru/include/3ds/types.h:
|
||||
/opt/devkitpro/libctru/include/3ds/result.h:
|
||||
/opt/devkitpro/libctru/include/3ds/ipc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/svc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/exheader.h:
|
||||
/opt/devkitpro/libctru/include/3ds/srv.h:
|
||||
/opt/devkitpro/libctru/include/3ds/errf.h:
|
||||
/opt/devkitpro/libctru/include/3ds/os.h:
|
||||
/opt/devkitpro/libctru/include/3ds/synchronization.h:
|
||||
/opt/devkitpro/libctru/include/3ds/thread.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gfx.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/gspgpu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/console.h:
|
||||
/opt/devkitpro/libctru/include/3ds/env.h:
|
||||
/opt/devkitpro/libctru/include/3ds/util/decompress.h:
|
||||
/opt/devkitpro/libctru/include/3ds/util/utf.h:
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/linear.h:
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/mappable.h:
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/vram.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ac.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/am.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/fs.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ampxi.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/apt.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/boss.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cam.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/y2r.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgnor.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/csnd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/dsp.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/fspxi.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/fsreg.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/frd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/mii.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/gsplcd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/hid.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/irrst.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/sslc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/httpc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/uds.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ndm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/nim.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/nwmext.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ir.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ns.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmapp.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmdbg.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ps.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsysm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmgets.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsets.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxidev.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxipm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/soc.h:
|
||||
/opt/devkitpro/libctru/include/netinet/in.h:
|
||||
/opt/devkitpro/libctru/include/sys/socket.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/mic.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/mvd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/nfc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/news.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/qtm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/srvpm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/loader.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/mcuhwc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cdcchk.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gx.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gpu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/registers.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/enums.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shbin.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shaderProgram.h:
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/ndsp.h:
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/channel.h:
|
||||
/opt/devkitpro/libctru/include/3ds/applets/swkbd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/applets/error.h:
|
||||
/opt/devkitpro/libctru/include/3ds/applets/miiselector.h:
|
||||
/opt/devkitpro/libctru/include/3ds/archive.h:
|
||||
/opt/devkitpro/libctru/include/3ds/romfs.h:
|
||||
/opt/devkitpro/libctru/include/3ds/font.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gdbhio_dev.h:
|
||||
/opt/devkitpro/libctru/include/3ds/3dslink.h:
|
||||
/opt/devkitpro/libctru/include/netdb.h:
|
||||
/opt/devkitpro/libctru/include/arpa/inet.h:
|
||||
/home/user/3DSController/3DS/include/inet_pton.h:
|
Binary file not shown.
|
@ -0,0 +1,173 @@
|
|||
input.o: /home/user/3DSController/3DS/source/input.c \
|
||||
/opt/devkitpro/libctru/include/3ds.h \
|
||||
/opt/devkitpro/libctru/include/3ds/types.h \
|
||||
/opt/devkitpro/libctru/include/3ds/result.h \
|
||||
/opt/devkitpro/libctru/include/3ds/ipc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/svc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/exheader.h \
|
||||
/opt/devkitpro/libctru/include/3ds/srv.h \
|
||||
/opt/devkitpro/libctru/include/3ds/errf.h \
|
||||
/opt/devkitpro/libctru/include/3ds/os.h \
|
||||
/opt/devkitpro/libctru/include/3ds/synchronization.h \
|
||||
/opt/devkitpro/libctru/include/3ds/thread.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gfx.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/gspgpu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/console.h \
|
||||
/opt/devkitpro/libctru/include/3ds/env.h \
|
||||
/opt/devkitpro/libctru/include/3ds/util/decompress.h \
|
||||
/opt/devkitpro/libctru/include/3ds/util/utf.h \
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/linear.h \
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/mappable.h \
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/vram.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ac.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/am.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/fs.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ampxi.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/apt.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/boss.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cam.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/y2r.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgnor.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/csnd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/dsp.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/fspxi.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/fsreg.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/frd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/mii.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/gsplcd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/hid.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/irrst.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/sslc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/httpc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/uds.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ndm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/nim.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/nwmext.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ir.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ns.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmapp.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmdbg.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ps.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsysm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmgets.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsets.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxidev.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxipm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/soc.h \
|
||||
/opt/devkitpro/libctru/include/netinet/in.h \
|
||||
/opt/devkitpro/libctru/include/sys/socket.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/mic.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/mvd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/nfc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/news.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/qtm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/srvpm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/loader.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/mcuhwc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cdcchk.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gx.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gpu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/registers.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/enums.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shbin.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shaderProgram.h \
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/ndsp.h \
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/channel.h \
|
||||
/opt/devkitpro/libctru/include/3ds/applets/swkbd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/applets/error.h \
|
||||
/opt/devkitpro/libctru/include/3ds/applets/miiselector.h \
|
||||
/opt/devkitpro/libctru/include/3ds/archive.h \
|
||||
/opt/devkitpro/libctru/include/3ds/romfs.h \
|
||||
/opt/devkitpro/libctru/include/3ds/font.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gdbhio_dev.h \
|
||||
/opt/devkitpro/libctru/include/3ds/3dslink.h \
|
||||
/home/user/3DSController/3DS/include/drawing.h \
|
||||
/home/user/3DSController/3DS/include/input.h
|
||||
/opt/devkitpro/libctru/include/3ds.h:
|
||||
/opt/devkitpro/libctru/include/3ds/types.h:
|
||||
/opt/devkitpro/libctru/include/3ds/result.h:
|
||||
/opt/devkitpro/libctru/include/3ds/ipc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/svc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/exheader.h:
|
||||
/opt/devkitpro/libctru/include/3ds/srv.h:
|
||||
/opt/devkitpro/libctru/include/3ds/errf.h:
|
||||
/opt/devkitpro/libctru/include/3ds/os.h:
|
||||
/opt/devkitpro/libctru/include/3ds/synchronization.h:
|
||||
/opt/devkitpro/libctru/include/3ds/thread.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gfx.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/gspgpu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/console.h:
|
||||
/opt/devkitpro/libctru/include/3ds/env.h:
|
||||
/opt/devkitpro/libctru/include/3ds/util/decompress.h:
|
||||
/opt/devkitpro/libctru/include/3ds/util/utf.h:
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/linear.h:
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/mappable.h:
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/vram.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ac.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/am.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/fs.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ampxi.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/apt.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/boss.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cam.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/y2r.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgnor.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/csnd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/dsp.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/fspxi.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/fsreg.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/frd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/mii.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/gsplcd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/hid.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/irrst.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/sslc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/httpc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/uds.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ndm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/nim.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/nwmext.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ir.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ns.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmapp.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmdbg.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ps.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsysm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmgets.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsets.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxidev.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxipm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/soc.h:
|
||||
/opt/devkitpro/libctru/include/netinet/in.h:
|
||||
/opt/devkitpro/libctru/include/sys/socket.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/mic.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/mvd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/nfc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/news.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/qtm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/srvpm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/loader.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/mcuhwc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cdcchk.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gx.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gpu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/registers.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/enums.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shbin.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shaderProgram.h:
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/ndsp.h:
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/channel.h:
|
||||
/opt/devkitpro/libctru/include/3ds/applets/swkbd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/applets/error.h:
|
||||
/opt/devkitpro/libctru/include/3ds/applets/miiselector.h:
|
||||
/opt/devkitpro/libctru/include/3ds/archive.h:
|
||||
/opt/devkitpro/libctru/include/3ds/romfs.h:
|
||||
/opt/devkitpro/libctru/include/3ds/font.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gdbhio_dev.h:
|
||||
/opt/devkitpro/libctru/include/3ds/3dslink.h:
|
||||
/home/user/3DSController/3DS/include/drawing.h:
|
||||
/home/user/3DSController/3DS/include/input.h:
|
Binary file not shown.
|
@ -0,0 +1,173 @@
|
|||
keyboard.o: /home/user/3DSController/3DS/source/keyboard.c \
|
||||
/opt/devkitpro/libctru/include/3ds.h \
|
||||
/opt/devkitpro/libctru/include/3ds/types.h \
|
||||
/opt/devkitpro/libctru/include/3ds/result.h \
|
||||
/opt/devkitpro/libctru/include/3ds/ipc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/svc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/exheader.h \
|
||||
/opt/devkitpro/libctru/include/3ds/srv.h \
|
||||
/opt/devkitpro/libctru/include/3ds/errf.h \
|
||||
/opt/devkitpro/libctru/include/3ds/os.h \
|
||||
/opt/devkitpro/libctru/include/3ds/synchronization.h \
|
||||
/opt/devkitpro/libctru/include/3ds/thread.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gfx.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/gspgpu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/console.h \
|
||||
/opt/devkitpro/libctru/include/3ds/env.h \
|
||||
/opt/devkitpro/libctru/include/3ds/util/decompress.h \
|
||||
/opt/devkitpro/libctru/include/3ds/util/utf.h \
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/linear.h \
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/mappable.h \
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/vram.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ac.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/am.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/fs.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ampxi.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/apt.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/boss.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cam.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/y2r.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgnor.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/csnd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/dsp.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/fspxi.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/fsreg.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/frd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/mii.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/gsplcd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/hid.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/irrst.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/sslc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/httpc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/uds.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ndm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/nim.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/nwmext.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ir.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ns.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmapp.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmdbg.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ps.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsysm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmgets.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsets.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxidev.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxipm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/soc.h \
|
||||
/opt/devkitpro/libctru/include/netinet/in.h \
|
||||
/opt/devkitpro/libctru/include/sys/socket.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/mic.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/mvd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/nfc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/news.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/qtm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/srvpm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/loader.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/mcuhwc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cdcchk.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gx.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gpu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/registers.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/enums.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shbin.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shaderProgram.h \
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/ndsp.h \
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/channel.h \
|
||||
/opt/devkitpro/libctru/include/3ds/applets/swkbd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/applets/error.h \
|
||||
/opt/devkitpro/libctru/include/3ds/applets/miiselector.h \
|
||||
/opt/devkitpro/libctru/include/3ds/archive.h \
|
||||
/opt/devkitpro/libctru/include/3ds/romfs.h \
|
||||
/opt/devkitpro/libctru/include/3ds/font.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gdbhio_dev.h \
|
||||
/opt/devkitpro/libctru/include/3ds/3dslink.h \
|
||||
/home/user/3DSController/3DS/include/drawing.h \
|
||||
/home/user/3DSController/3DS/include/keyboard.h
|
||||
/opt/devkitpro/libctru/include/3ds.h:
|
||||
/opt/devkitpro/libctru/include/3ds/types.h:
|
||||
/opt/devkitpro/libctru/include/3ds/result.h:
|
||||
/opt/devkitpro/libctru/include/3ds/ipc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/svc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/exheader.h:
|
||||
/opt/devkitpro/libctru/include/3ds/srv.h:
|
||||
/opt/devkitpro/libctru/include/3ds/errf.h:
|
||||
/opt/devkitpro/libctru/include/3ds/os.h:
|
||||
/opt/devkitpro/libctru/include/3ds/synchronization.h:
|
||||
/opt/devkitpro/libctru/include/3ds/thread.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gfx.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/gspgpu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/console.h:
|
||||
/opt/devkitpro/libctru/include/3ds/env.h:
|
||||
/opt/devkitpro/libctru/include/3ds/util/decompress.h:
|
||||
/opt/devkitpro/libctru/include/3ds/util/utf.h:
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/linear.h:
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/mappable.h:
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/vram.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ac.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/am.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/fs.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ampxi.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/apt.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/boss.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cam.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/y2r.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgnor.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/csnd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/dsp.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/fspxi.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/fsreg.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/frd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/mii.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/gsplcd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/hid.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/irrst.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/sslc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/httpc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/uds.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ndm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/nim.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/nwmext.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ir.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ns.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmapp.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmdbg.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ps.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsysm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmgets.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsets.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxidev.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxipm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/soc.h:
|
||||
/opt/devkitpro/libctru/include/netinet/in.h:
|
||||
/opt/devkitpro/libctru/include/sys/socket.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/mic.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/mvd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/nfc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/news.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/qtm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/srvpm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/loader.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/mcuhwc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cdcchk.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gx.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gpu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/registers.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/enums.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shbin.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shaderProgram.h:
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/ndsp.h:
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/channel.h:
|
||||
/opt/devkitpro/libctru/include/3ds/applets/swkbd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/applets/error.h:
|
||||
/opt/devkitpro/libctru/include/3ds/applets/miiselector.h:
|
||||
/opt/devkitpro/libctru/include/3ds/archive.h:
|
||||
/opt/devkitpro/libctru/include/3ds/romfs.h:
|
||||
/opt/devkitpro/libctru/include/3ds/font.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gdbhio_dev.h:
|
||||
/opt/devkitpro/libctru/include/3ds/3dslink.h:
|
||||
/home/user/3DSController/3DS/include/drawing.h:
|
||||
/home/user/3DSController/3DS/include/keyboard.h:
|
Binary file not shown.
|
@ -0,0 +1,185 @@
|
|||
main.o: /home/user/3DSController/3DS/source/main.c \
|
||||
/opt/devkitpro/libctru/include/3ds.h \
|
||||
/opt/devkitpro/libctru/include/3ds/types.h \
|
||||
/opt/devkitpro/libctru/include/3ds/result.h \
|
||||
/opt/devkitpro/libctru/include/3ds/ipc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/svc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/exheader.h \
|
||||
/opt/devkitpro/libctru/include/3ds/srv.h \
|
||||
/opt/devkitpro/libctru/include/3ds/errf.h \
|
||||
/opt/devkitpro/libctru/include/3ds/os.h \
|
||||
/opt/devkitpro/libctru/include/3ds/synchronization.h \
|
||||
/opt/devkitpro/libctru/include/3ds/thread.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gfx.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/gspgpu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/console.h \
|
||||
/opt/devkitpro/libctru/include/3ds/env.h \
|
||||
/opt/devkitpro/libctru/include/3ds/util/decompress.h \
|
||||
/opt/devkitpro/libctru/include/3ds/util/utf.h \
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/linear.h \
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/mappable.h \
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/vram.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ac.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/am.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/fs.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ampxi.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/apt.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/boss.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cam.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/y2r.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgnor.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/csnd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/dsp.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/fspxi.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/fsreg.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/frd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/mii.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/gsplcd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/hid.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/irrst.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/sslc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/httpc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/uds.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ndm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/nim.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/nwmext.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ir.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ns.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmapp.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmdbg.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ps.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsysm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmgets.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsets.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxidev.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxipm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/soc.h \
|
||||
/opt/devkitpro/libctru/include/netinet/in.h \
|
||||
/opt/devkitpro/libctru/include/sys/socket.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/mic.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/mvd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/nfc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/news.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/qtm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/srvpm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/loader.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/mcuhwc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cdcchk.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gx.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gpu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/registers.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/enums.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shbin.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shaderProgram.h \
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/ndsp.h \
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/channel.h \
|
||||
/opt/devkitpro/libctru/include/3ds/applets/swkbd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/applets/error.h \
|
||||
/opt/devkitpro/libctru/include/3ds/applets/miiselector.h \
|
||||
/opt/devkitpro/libctru/include/3ds/archive.h \
|
||||
/opt/devkitpro/libctru/include/3ds/romfs.h \
|
||||
/opt/devkitpro/libctru/include/3ds/font.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gdbhio_dev.h \
|
||||
/opt/devkitpro/libctru/include/3ds/3dslink.h \
|
||||
/home/user/3DSController/3DS/include/drawing.h \
|
||||
/home/user/3DSController/3DS/include/input.h \
|
||||
/home/user/3DSController/3DS/include/keyboard.h \
|
||||
/home/user/3DSController/3DS/include/settings.h \
|
||||
/home/user/3DSController/3DS/include/wireless.h \
|
||||
/opt/devkitpro/libctru/include/netdb.h \
|
||||
/opt/devkitpro/libctru/include/arpa/inet.h \
|
||||
/home/user/3DSController/3DS/include/inet_pton.h
|
||||
/opt/devkitpro/libctru/include/3ds.h:
|
||||
/opt/devkitpro/libctru/include/3ds/types.h:
|
||||
/opt/devkitpro/libctru/include/3ds/result.h:
|
||||
/opt/devkitpro/libctru/include/3ds/ipc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/svc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/exheader.h:
|
||||
/opt/devkitpro/libctru/include/3ds/srv.h:
|
||||
/opt/devkitpro/libctru/include/3ds/errf.h:
|
||||
/opt/devkitpro/libctru/include/3ds/os.h:
|
||||
/opt/devkitpro/libctru/include/3ds/synchronization.h:
|
||||
/opt/devkitpro/libctru/include/3ds/thread.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gfx.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/gspgpu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/console.h:
|
||||
/opt/devkitpro/libctru/include/3ds/env.h:
|
||||
/opt/devkitpro/libctru/include/3ds/util/decompress.h:
|
||||
/opt/devkitpro/libctru/include/3ds/util/utf.h:
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/linear.h:
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/mappable.h:
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/vram.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ac.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/am.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/fs.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ampxi.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/apt.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/boss.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cam.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/y2r.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgnor.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/csnd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/dsp.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/fspxi.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/fsreg.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/frd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/mii.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/gsplcd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/hid.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/irrst.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/sslc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/httpc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/uds.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ndm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/nim.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/nwmext.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ir.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ns.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmapp.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmdbg.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ps.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsysm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmgets.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsets.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxidev.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxipm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/soc.h:
|
||||
/opt/devkitpro/libctru/include/netinet/in.h:
|
||||
/opt/devkitpro/libctru/include/sys/socket.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/mic.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/mvd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/nfc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/news.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/qtm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/srvpm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/loader.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/mcuhwc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cdcchk.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gx.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gpu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/registers.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/enums.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shbin.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shaderProgram.h:
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/ndsp.h:
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/channel.h:
|
||||
/opt/devkitpro/libctru/include/3ds/applets/swkbd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/applets/error.h:
|
||||
/opt/devkitpro/libctru/include/3ds/applets/miiselector.h:
|
||||
/opt/devkitpro/libctru/include/3ds/archive.h:
|
||||
/opt/devkitpro/libctru/include/3ds/romfs.h:
|
||||
/opt/devkitpro/libctru/include/3ds/font.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gdbhio_dev.h:
|
||||
/opt/devkitpro/libctru/include/3ds/3dslink.h:
|
||||
/home/user/3DSController/3DS/include/drawing.h:
|
||||
/home/user/3DSController/3DS/include/input.h:
|
||||
/home/user/3DSController/3DS/include/keyboard.h:
|
||||
/home/user/3DSController/3DS/include/settings.h:
|
||||
/home/user/3DSController/3DS/include/wireless.h:
|
||||
/opt/devkitpro/libctru/include/netdb.h:
|
||||
/opt/devkitpro/libctru/include/arpa/inet.h:
|
||||
/home/user/3DSController/3DS/include/inet_pton.h:
|
Binary file not shown.
|
@ -0,0 +1,179 @@
|
|||
settings.o: /home/user/3DSController/3DS/source/settings.c \
|
||||
/opt/devkitpro/libctru/include/3ds.h \
|
||||
/opt/devkitpro/libctru/include/3ds/types.h \
|
||||
/opt/devkitpro/libctru/include/3ds/result.h \
|
||||
/opt/devkitpro/libctru/include/3ds/ipc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/svc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/exheader.h \
|
||||
/opt/devkitpro/libctru/include/3ds/srv.h \
|
||||
/opt/devkitpro/libctru/include/3ds/errf.h \
|
||||
/opt/devkitpro/libctru/include/3ds/os.h \
|
||||
/opt/devkitpro/libctru/include/3ds/synchronization.h \
|
||||
/opt/devkitpro/libctru/include/3ds/thread.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gfx.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/gspgpu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/console.h \
|
||||
/opt/devkitpro/libctru/include/3ds/env.h \
|
||||
/opt/devkitpro/libctru/include/3ds/util/decompress.h \
|
||||
/opt/devkitpro/libctru/include/3ds/util/utf.h \
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/linear.h \
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/mappable.h \
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/vram.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ac.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/am.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/fs.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ampxi.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/apt.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/boss.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cam.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/y2r.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgnor.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/csnd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/dsp.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/fspxi.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/fsreg.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/frd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/mii.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/gsplcd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/hid.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/irrst.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/sslc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/httpc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/uds.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ndm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/nim.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/nwmext.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ir.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ns.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmapp.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmdbg.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ps.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsysm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmgets.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsets.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxidev.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxipm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/soc.h \
|
||||
/opt/devkitpro/libctru/include/netinet/in.h \
|
||||
/opt/devkitpro/libctru/include/sys/socket.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/mic.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/mvd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/nfc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/news.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/qtm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/srvpm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/loader.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/mcuhwc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cdcchk.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gx.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gpu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/registers.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/enums.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shbin.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shaderProgram.h \
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/ndsp.h \
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/channel.h \
|
||||
/opt/devkitpro/libctru/include/3ds/applets/swkbd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/applets/error.h \
|
||||
/opt/devkitpro/libctru/include/3ds/applets/miiselector.h \
|
||||
/opt/devkitpro/libctru/include/3ds/archive.h \
|
||||
/opt/devkitpro/libctru/include/3ds/romfs.h \
|
||||
/opt/devkitpro/libctru/include/3ds/font.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gdbhio_dev.h \
|
||||
/opt/devkitpro/libctru/include/3ds/3dslink.h \
|
||||
/home/user/3DSController/3DS/include/wireless.h \
|
||||
/opt/devkitpro/libctru/include/netdb.h \
|
||||
/opt/devkitpro/libctru/include/arpa/inet.h \
|
||||
/home/user/3DSController/3DS/include/inet_pton.h \
|
||||
/home/user/3DSController/3DS/include/settings.h
|
||||
/opt/devkitpro/libctru/include/3ds.h:
|
||||
/opt/devkitpro/libctru/include/3ds/types.h:
|
||||
/opt/devkitpro/libctru/include/3ds/result.h:
|
||||
/opt/devkitpro/libctru/include/3ds/ipc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/svc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/exheader.h:
|
||||
/opt/devkitpro/libctru/include/3ds/srv.h:
|
||||
/opt/devkitpro/libctru/include/3ds/errf.h:
|
||||
/opt/devkitpro/libctru/include/3ds/os.h:
|
||||
/opt/devkitpro/libctru/include/3ds/synchronization.h:
|
||||
/opt/devkitpro/libctru/include/3ds/thread.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gfx.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/gspgpu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/console.h:
|
||||
/opt/devkitpro/libctru/include/3ds/env.h:
|
||||
/opt/devkitpro/libctru/include/3ds/util/decompress.h:
|
||||
/opt/devkitpro/libctru/include/3ds/util/utf.h:
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/linear.h:
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/mappable.h:
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/vram.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ac.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/am.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/fs.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ampxi.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/apt.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/boss.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cam.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/y2r.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgnor.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/csnd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/dsp.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/fspxi.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/fsreg.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/frd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/mii.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/gsplcd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/hid.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/irrst.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/sslc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/httpc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/uds.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ndm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/nim.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/nwmext.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ir.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ns.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmapp.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmdbg.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ps.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsysm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmgets.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsets.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxidev.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxipm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/soc.h:
|
||||
/opt/devkitpro/libctru/include/netinet/in.h:
|
||||
/opt/devkitpro/libctru/include/sys/socket.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/mic.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/mvd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/nfc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/news.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/qtm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/srvpm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/loader.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/mcuhwc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cdcchk.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gx.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gpu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/registers.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/enums.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shbin.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shaderProgram.h:
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/ndsp.h:
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/channel.h:
|
||||
/opt/devkitpro/libctru/include/3ds/applets/swkbd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/applets/error.h:
|
||||
/opt/devkitpro/libctru/include/3ds/applets/miiselector.h:
|
||||
/opt/devkitpro/libctru/include/3ds/archive.h:
|
||||
/opt/devkitpro/libctru/include/3ds/romfs.h:
|
||||
/opt/devkitpro/libctru/include/3ds/font.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gdbhio_dev.h:
|
||||
/opt/devkitpro/libctru/include/3ds/3dslink.h:
|
||||
/home/user/3DSController/3DS/include/wireless.h:
|
||||
/opt/devkitpro/libctru/include/netdb.h:
|
||||
/opt/devkitpro/libctru/include/arpa/inet.h:
|
||||
/home/user/3DSController/3DS/include/inet_pton.h:
|
||||
/home/user/3DSController/3DS/include/settings.h:
|
Binary file not shown.
|
@ -0,0 +1,179 @@
|
|||
wireless.o: /home/user/3DSController/3DS/source/wireless.c \
|
||||
/home/user/3DSController/3DS/include/keyboard.h \
|
||||
/home/user/3DSController/3DS/include/wireless.h \
|
||||
/opt/devkitpro/libctru/include/3ds.h \
|
||||
/opt/devkitpro/libctru/include/3ds/types.h \
|
||||
/opt/devkitpro/libctru/include/3ds/result.h \
|
||||
/opt/devkitpro/libctru/include/3ds/ipc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/svc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/exheader.h \
|
||||
/opt/devkitpro/libctru/include/3ds/srv.h \
|
||||
/opt/devkitpro/libctru/include/3ds/errf.h \
|
||||
/opt/devkitpro/libctru/include/3ds/os.h \
|
||||
/opt/devkitpro/libctru/include/3ds/synchronization.h \
|
||||
/opt/devkitpro/libctru/include/3ds/thread.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gfx.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/gspgpu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/console.h \
|
||||
/opt/devkitpro/libctru/include/3ds/env.h \
|
||||
/opt/devkitpro/libctru/include/3ds/util/decompress.h \
|
||||
/opt/devkitpro/libctru/include/3ds/util/utf.h \
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/linear.h \
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/mappable.h \
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/vram.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ac.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/am.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/fs.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ampxi.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/apt.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/boss.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cam.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/y2r.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgnor.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/csnd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/dsp.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/fspxi.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/fsreg.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/frd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/mii.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/gsplcd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/hid.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/irrst.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/sslc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/httpc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/uds.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ndm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/nim.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/nwmext.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ir.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ns.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmapp.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmdbg.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ps.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsysm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmgets.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsets.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxidev.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxipm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/soc.h \
|
||||
/opt/devkitpro/libctru/include/netinet/in.h \
|
||||
/opt/devkitpro/libctru/include/sys/socket.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/mic.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/mvd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/nfc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/news.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/qtm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/srvpm.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/loader.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/mcuhwc.h \
|
||||
/opt/devkitpro/libctru/include/3ds/services/cdcchk.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gx.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gpu.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/registers.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/enums.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shbin.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shaderProgram.h \
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/ndsp.h \
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/channel.h \
|
||||
/opt/devkitpro/libctru/include/3ds/applets/swkbd.h \
|
||||
/opt/devkitpro/libctru/include/3ds/applets/error.h \
|
||||
/opt/devkitpro/libctru/include/3ds/applets/miiselector.h \
|
||||
/opt/devkitpro/libctru/include/3ds/archive.h \
|
||||
/opt/devkitpro/libctru/include/3ds/romfs.h \
|
||||
/opt/devkitpro/libctru/include/3ds/font.h \
|
||||
/opt/devkitpro/libctru/include/3ds/gdbhio_dev.h \
|
||||
/opt/devkitpro/libctru/include/3ds/3dslink.h \
|
||||
/opt/devkitpro/libctru/include/netdb.h \
|
||||
/opt/devkitpro/libctru/include/arpa/inet.h \
|
||||
/home/user/3DSController/3DS/include/inet_pton.h
|
||||
/home/user/3DSController/3DS/include/keyboard.h:
|
||||
/home/user/3DSController/3DS/include/wireless.h:
|
||||
/opt/devkitpro/libctru/include/3ds.h:
|
||||
/opt/devkitpro/libctru/include/3ds/types.h:
|
||||
/opt/devkitpro/libctru/include/3ds/result.h:
|
||||
/opt/devkitpro/libctru/include/3ds/ipc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/svc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/exheader.h:
|
||||
/opt/devkitpro/libctru/include/3ds/srv.h:
|
||||
/opt/devkitpro/libctru/include/3ds/errf.h:
|
||||
/opt/devkitpro/libctru/include/3ds/os.h:
|
||||
/opt/devkitpro/libctru/include/3ds/synchronization.h:
|
||||
/opt/devkitpro/libctru/include/3ds/thread.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gfx.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/gspgpu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/console.h:
|
||||
/opt/devkitpro/libctru/include/3ds/env.h:
|
||||
/opt/devkitpro/libctru/include/3ds/util/decompress.h:
|
||||
/opt/devkitpro/libctru/include/3ds/util/utf.h:
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/linear.h:
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/mappable.h:
|
||||
/opt/devkitpro/libctru/include/3ds/allocator/vram.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ac.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/am.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/fs.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ampxi.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/apt.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/boss.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cam.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/y2r.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgnor.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cfgu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/csnd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/dsp.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/fspxi.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/fsreg.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/frd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/mii.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/gsplcd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/hid.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/irrst.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/sslc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/httpc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/uds.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ndm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/nim.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/nwmext.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ir.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ns.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmapp.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pmdbg.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ps.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsysm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmgets.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/ptmsets.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxidev.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/pxipm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/soc.h:
|
||||
/opt/devkitpro/libctru/include/netinet/in.h:
|
||||
/opt/devkitpro/libctru/include/sys/socket.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/mic.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/mvd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/nfc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/news.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/qtm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/srvpm.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/loader.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/mcuhwc.h:
|
||||
/opt/devkitpro/libctru/include/3ds/services/cdcchk.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gx.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/gpu.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/registers.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/enums.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shbin.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gpu/shaderProgram.h:
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/ndsp.h:
|
||||
/opt/devkitpro/libctru/include/3ds/ndsp/channel.h:
|
||||
/opt/devkitpro/libctru/include/3ds/applets/swkbd.h:
|
||||
/opt/devkitpro/libctru/include/3ds/applets/error.h:
|
||||
/opt/devkitpro/libctru/include/3ds/applets/miiselector.h:
|
||||
/opt/devkitpro/libctru/include/3ds/archive.h:
|
||||
/opt/devkitpro/libctru/include/3ds/romfs.h:
|
||||
/opt/devkitpro/libctru/include/3ds/font.h:
|
||||
/opt/devkitpro/libctru/include/3ds/gdbhio_dev.h:
|
||||
/opt/devkitpro/libctru/include/3ds/3dslink.h:
|
||||
/opt/devkitpro/libctru/include/netdb.h:
|
||||
/opt/devkitpro/libctru/include/arpa/inet.h:
|
||||
/home/user/3DSController/3DS/include/inet_pton.h:
|
Binary file not shown.
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 766 B After Width: | Height: | Size: 766 B |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
@ -1,5 +1,6 @@
|
|||
#pragma once
|
||||
|
||||
#include "3ds/types.h"
|
||||
#include <stdbool.h>
|
||||
|
||||
struct settings {
|
|
@ -1,18 +1,17 @@
|
|||
#pragma once
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include <3ds.h>
|
||||
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <netdb.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
#include "3ds/services/hid.h"
|
||||
#include "inet_pton.h"
|
||||
#include "sys/_types.h"
|
||||
|
||||
#define SCREENSHOT_CHUNK 4000
|
||||
// #define SCREENSHOT_CHUNK 4000
|
||||
|
||||
#define DEFAULT_PORT 8889
|
||||
|
||||
|
@ -43,36 +42,60 @@ struct packet {
|
|||
// KEYS
|
||||
union {
|
||||
struct keysPacket {
|
||||
//Keys
|
||||
unsigned int keys;
|
||||
|
||||
//Cirle Pad
|
||||
struct {
|
||||
short x;
|
||||
short y;
|
||||
} circlePad;
|
||||
|
||||
//Touchpad
|
||||
struct {
|
||||
unsigned short x;
|
||||
unsigned short y;
|
||||
} touch;
|
||||
|
||||
//cStick
|
||||
struct {
|
||||
short x;
|
||||
short y;
|
||||
} cStick;
|
||||
|
||||
//Volume
|
||||
unsigned int volume; //way longer than needed, but it works.
|
||||
|
||||
//Gyroscope
|
||||
struct {
|
||||
short x;
|
||||
short y;
|
||||
short z;
|
||||
} gyro;
|
||||
|
||||
unsigned char padding;
|
||||
|
||||
//Accelerometer
|
||||
struct {
|
||||
short x;
|
||||
short y;
|
||||
short z;
|
||||
} accel;
|
||||
|
||||
// unsigned int threeD32;
|
||||
};
|
||||
struct keysPacket keysPacket;
|
||||
};
|
||||
|
||||
// SCREENSHOT
|
||||
union {
|
||||
struct screenshotPacket {
|
||||
unsigned short offset;
|
||||
unsigned char data[SCREENSHOT_CHUNK];
|
||||
};
|
||||
struct screenshotPacket screenshotPacket;
|
||||
};
|
||||
// union {
|
||||
// struct screenshotPacket {
|
||||
// unsigned short offset;
|
||||
// unsigned char data[SCREENSHOT_CHUNK];
|
||||
// };
|
||||
// struct screenshotPacket screenshotPacket;
|
||||
// };
|
||||
// This is not even used so...
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -86,4 +109,4 @@ bool openSocket(int port);
|
|||
void sendBuf(int length);
|
||||
int receiveBuffer(int length);
|
||||
void sendConnectionRequest(void);
|
||||
void sendKeys(unsigned int keys, circlePosition circlePad, touchPosition touch, circlePosition cStick, unsigned int volume);
|
||||
void sendKeys(unsigned int keys, circlePosition circlePad, touchPosition touch, circlePosition cStick, unsigned int volume, angularRate gyro, accelVector accel);
|
|
@ -169,6 +169,8 @@ void disableBacklight() {
|
|||
GSPGPU_WriteHWRegs(REG_LCDBACKLIGHTSUB, &off, 4);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void enableBacklight() {
|
||||
GSPGPU_WriteHWRegs(REG_LCDBACKLIGHTMAIN, &brightnessMain, 4);
|
||||
GSPGPU_WriteHWRegs(REG_LCDBACKLIGHTSUB, &brightnessSub, 4);
|
|
@ -0,0 +1,198 @@
|
|||
#include <malloc.h>
|
||||
#include <setjmp.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <3ds.h>
|
||||
#include "3ds/services/gsplcd.h"
|
||||
#include "3ds/services/hid.h"
|
||||
#include "3ds/services/soc.h"
|
||||
|
||||
#include "drawing.h"
|
||||
#include "input.h"
|
||||
#include "keyboard.h"
|
||||
#include "settings.h"
|
||||
#include "wireless.h"
|
||||
|
||||
static jmp_buf exitJmp;
|
||||
|
||||
void hang(char *message) {
|
||||
while (aptMainLoop()) {
|
||||
hidScanInput();
|
||||
|
||||
clearScreen();
|
||||
drawString(10, 10, "%s", message);
|
||||
drawString(10, 20, "Start and Select to exit");
|
||||
|
||||
u32 kHeld = hidKeysHeld();
|
||||
if ((kHeld & KEY_START) && (kHeld & KEY_SELECT))
|
||||
longjmp(exitJmp, 1);
|
||||
|
||||
gfxFlushBuffers();
|
||||
gspWaitForVBlank();
|
||||
gfxSwapBuffers();
|
||||
}
|
||||
}
|
||||
|
||||
int main(void) {
|
||||
acInit();
|
||||
gfxInitDefault();
|
||||
|
||||
gfxSetDoubleBuffering(GFX_TOP, true);
|
||||
gfxSetDoubleBuffering(GFX_BOTTOM, true);
|
||||
|
||||
if (setjmp(exitJmp))
|
||||
goto exit;
|
||||
|
||||
// preRenderKeyboard();
|
||||
|
||||
// clearScreen();
|
||||
drawString(10, 10, "Initing FS...");
|
||||
gfxFlushBuffers();
|
||||
gfxSwapBuffers();
|
||||
|
||||
fsInit();
|
||||
|
||||
// clearScreen();
|
||||
drawString(10, 10, "Initing SOC...");
|
||||
gfxFlushBuffers();
|
||||
gfxSwapBuffers();
|
||||
|
||||
socInit((u32 *)memalign(0x1000, 0x100000), 0x100000);
|
||||
|
||||
u32 wifiStatus = 0;
|
||||
ACU_GetWifiStatus(&wifiStatus);
|
||||
if (!wifiStatus) {
|
||||
hang("No WiFi! Is your wireless slider on?");
|
||||
}
|
||||
|
||||
clearScreen();
|
||||
drawString(10, 10, "Reading settings...");
|
||||
gfxFlushBuffers();
|
||||
gfxSwapBuffers();
|
||||
|
||||
if (!readSettings()) {
|
||||
hang("Could not read 3DSController.ini!");
|
||||
}
|
||||
|
||||
clearScreen();
|
||||
drawString(10, 10, "Connecting to %s on port %d...", settings.IPString,
|
||||
settings.port);
|
||||
gfxFlushBuffers();
|
||||
gfxSwapBuffers();
|
||||
|
||||
openSocket(settings.port);
|
||||
sendConnectionRequest();
|
||||
|
||||
// clearScreen();
|
||||
drawString(10, 10, "Sending data to %s on port %d...", settings.IPString,
|
||||
settings.port);
|
||||
gfxFlushBuffers();
|
||||
gfxSwapBuffers();
|
||||
|
||||
GSPLCD_PowerOffAllBacklights();
|
||||
|
||||
while (aptMainLoop()) {
|
||||
hidScanInput();
|
||||
irrstScanInput();
|
||||
|
||||
u32 kHeld = hidKeysHeld();
|
||||
circlePosition circlePad;
|
||||
circlePosition cStick;
|
||||
angularRate gyro;
|
||||
accelVector accel;
|
||||
u8 vol8;
|
||||
u8 *volPointer = &vol8; // As a test for pointing at things.
|
||||
// u8 threeD;
|
||||
// u8 *threeDPointer = &threeD;
|
||||
hidCstickRead(&cStick);
|
||||
hidCircleRead(&circlePad);
|
||||
HIDUSER_EnableGyroscope();
|
||||
hidGyroRead(&gyro);
|
||||
HIDUSER_EnableAccelerometer();
|
||||
hidAccelRead(&accel);
|
||||
HIDUSER_GetSoundVolume(volPointer);
|
||||
// MCUHWC_GetSoundSliderLevel(threeDPointer);
|
||||
u32 volume = (u32)vol8; // Upscale to 32 for transmission
|
||||
// u32 threeD32 = (u32)threeD;
|
||||
touchPosition touch;
|
||||
touchRead(&touch);
|
||||
|
||||
clearScreen();
|
||||
|
||||
if ((kHeld & KEY_L) && (kHeld & KEY_R) && (kHeld & KEY_X)) {
|
||||
if (keyboardToggle) {
|
||||
keyboardActive = !keyboardActive;
|
||||
keyboardToggle = false;
|
||||
|
||||
if (keyboardActive) {
|
||||
GSPLCD_PowerOnAllBacklights();
|
||||
} else {
|
||||
GSPLCD_PowerOffAllBacklights();
|
||||
}
|
||||
}
|
||||
} else
|
||||
keyboardToggle = true;
|
||||
|
||||
if (keyboardActive) {
|
||||
drawKeyboard();
|
||||
|
||||
if (touch.px >= 1 && touch.px <= 312 && touch.py >= 78 &&
|
||||
touch.py <= 208) {
|
||||
int x = (int)((float)touch.px * 12.0f / 320.0f);
|
||||
int y = (int)((float)(touch.py - 78) * 12.0f / 320.0f);
|
||||
int width = 24;
|
||||
int height = 24;
|
||||
|
||||
if (keyboardChars[x + y * 12] == ' ') {
|
||||
while (keyboardChars[(x - 1) + y * 12] == ' ')
|
||||
x--;
|
||||
|
||||
width = (int)(5.0f * 320.0f / 12.0f) - 1;
|
||||
}
|
||||
|
||||
else if (keyboardChars[x + y * 12] == '\13') {
|
||||
while (keyboardChars[(x - 1) + y * 12] == '\13')
|
||||
x--;
|
||||
while (keyboardChars[x + (y - 1) * 12] == '\13')
|
||||
y--;
|
||||
|
||||
width = (int)(2.0f * 320.0f / 12.0f) - 1;
|
||||
height = (int)(3.0f * 320.0f / 12.0f) - 1;
|
||||
}
|
||||
|
||||
if (keyboardChars[x + y * 12])
|
||||
drawBox((int)((float)x * 320.0f / 12.0f) + 1,
|
||||
(int)(78.0f + (float)y * 320.0f / 12.0f) + 1, width, height,
|
||||
31, 31, 0);
|
||||
}
|
||||
}
|
||||
|
||||
sendKeys(kHeld, circlePad, touch, cStick, volume, gyro, accel);
|
||||
// drawString(10, 10, "Volume: %x", volume);
|
||||
// receiveBuffer(sizeof(struct packet));
|
||||
|
||||
if ((kHeld & KEY_START) && (kHeld & KEY_SELECT)) {
|
||||
sendKeys(0, circlePad, touch, cStick, volume, gyro, accel);
|
||||
longjmp(exitJmp, 1);
|
||||
}
|
||||
|
||||
gfxFlushBuffers();
|
||||
gspWaitForVBlank();
|
||||
gfxSwapBuffers();
|
||||
}
|
||||
|
||||
exit:
|
||||
|
||||
GSPLCD_PowerOnAllBacklights();
|
||||
|
||||
socExit();
|
||||
|
||||
svcCloseHandle(fileHandle);
|
||||
fsExit();
|
||||
|
||||
gfxExit();
|
||||
acExit();
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,60 @@
|
|||
#include <stddef.h>
|
||||
#include <string.h>
|
||||
#include "keyboard.h"
|
||||
#include "sys/_types.h"
|
||||
#include "wireless.h"
|
||||
|
||||
int sock;
|
||||
struct sockaddr_in sain, saout;
|
||||
struct packet outBuf, rcvBuf;
|
||||
|
||||
socklen_t sockaddr_in_sizePtr = (int)sizeof(struct sockaddr_in);
|
||||
|
||||
bool openSocket(int port) {
|
||||
sock = socket(AF_INET, SOCK_DGRAM, 0);
|
||||
|
||||
saout.sin_family = sain.sin_family = AF_INET;
|
||||
saout.sin_port = sain.sin_port = htons(port);
|
||||
sain.sin_addr.s_addr = INADDR_ANY;
|
||||
|
||||
bind(sock, (struct sockaddr *)&sain, sizeof(sain));
|
||||
|
||||
fcntl(sock, F_SETFL, O_NONBLOCK);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void sendBuf(int length) {
|
||||
sendto(sock, (char *)&outBuf, length, 0, (struct sockaddr *)&saout,
|
||||
sizeof(saout));
|
||||
}
|
||||
|
||||
int receiveBuffer(int length) {
|
||||
return recvfrom(sock, (char *)&rcvBuf, length, 0, (struct sockaddr *)&sain,
|
||||
&sockaddr_in_sizePtr);
|
||||
}
|
||||
|
||||
void sendConnectionRequest(void) {
|
||||
outBuf.command = CONNECT;
|
||||
outBuf.keyboardActive = keyboardActive;
|
||||
sendBuf(offsetof(struct packet, connectPacket) +
|
||||
sizeof(struct connectPacket));
|
||||
}
|
||||
|
||||
void sendKeys(unsigned int keys, circlePosition circlePad, touchPosition touch,
|
||||
circlePosition cStick, unsigned int volume,
|
||||
angularRate gyro, accelVector accel) {
|
||||
outBuf.command = KEYS;
|
||||
outBuf.keyboardActive = keyboardActive;
|
||||
memcpy(&outBuf.keys, &keys, 4);
|
||||
memcpy(&outBuf.circlePad, &circlePad, 4);
|
||||
memcpy(&outBuf.touch, &touch, 4);
|
||||
memcpy(&outBuf.cStick, &cStick, 4);
|
||||
memcpy(&outBuf.volume, &volume, 4);
|
||||
memcpy(&outBuf.gyro, &gyro, 6);
|
||||
// Padding to separate gyro from accel, making it less confusing when parsing the data
|
||||
outBuf.padding = 0;
|
||||
memcpy(&outBuf.accel, &accel, 6);
|
||||
// memcpy(&outBuf.threeD32, &threeD32, 4);
|
||||
sendBuf(offsetof(struct packet, keysPacket) + sizeof(struct keysPacket));
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
#!/usr/bin/env python
|
||||
# Compatible with both Python 2.7.6 and 3.4.3
|
||||
|
||||
from __future__ import print_function
|
||||
import socket, struct, time
|
||||
|
||||
##########################################################
|
||||
# CONFIGURABLE REGION START - Don't touch anything above #
|
||||
##########################################################
|
||||
port = 42020
|
||||
|
||||
########################################################
|
||||
# CONFIGURABLE REGION END - Don't touch anything below #
|
||||
########################################################
|
||||
|
||||
def pprint(obj):
|
||||
import pprint
|
||||
pprint.PrettyPrinter().pprint(obj)
|
||||
|
||||
class x: pass
|
||||
|
||||
command = x()
|
||||
command.CONNECT = 0
|
||||
command.KEYS = 1
|
||||
command.SCREENSHOT = 2
|
||||
|
||||
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||
sock.bind(("", port))
|
||||
|
||||
while True:
|
||||
rawdata, addr = sock.recvfrom(4092)
|
||||
rawdata = bytearray(rawdata)
|
||||
print("received message", rawdata)
|
||||
|
||||
if rawdata[0]==command.CONNECT:
|
||||
print("Connected with 3DS at address",addr)
|
||||
pass # CONNECT packets are empty
|
||||
|
||||
#pprint(data)
|
||||
|
||||
if rawdata[0]==command.SCREENSHOT:
|
||||
pass # unused by both 3DS and PC applications
|
Binary file not shown.
|
@ -1,59 +0,0 @@
|
|||
Default port is 8889, if you change this, you must change it in the 3DS's 3DSController.ini as well,
|
||||
Throttle controls the delay between checking for new packets (in milliseconds), a high number will have slightly more lag between pressing a button on the 3DS and receiving it on the PC, however will make the application use less CPU. In my experience, 20 is a reasonable throttling amount,
|
||||
Mouse Speed controls how fast the Circle Pad or Touch Screen moves the mouse. If set to 0 and using the Touch Screen, it will set to the absolute position, rather than moving relatively to last position,
|
||||
vJoy Device chooses which device to connect to. Set this to 2 in a second instance of 3DSController to use a second 3DS at the same time, perhaps for multiplayer.
|
||||
|
||||
|
||||
Circle Pad, C Stick and Touch can be MOUSE, JOYSTICK1, or JOYSTICK2.
|
||||
JOYSTICK1 uses X and Y. JOYSTICK2 uses Rx and Ry. These are axes 0, 1, 3 and 4 respectively, leaving 2 and 5 unused.
|
||||
KEYS will enable Pad directions (eg. Pad Left, C Stick Right) to map to regular keys (no vJoy necessary).
|
||||
D Pad can be KEYS or POV. POV will automatically choose a continuous or 4 directional POV hat depending on what is set in your vJoy Config. KEYS will allow Left, Right and etc. to be buttons as previously.
|
||||
|
||||
|
||||
Buttons can be a letter for a keyboard key (like Q, W, E, R, T, or Y), a special keyboard key (like SPACE, CLICK, RIGHT CLICK, ENTER, BACKSPACE, SHIFT, TAB, LEFT, RIGHT, UP, DOWN, PAGE UP, PAGE DOWN, WINDOWS, ESCAPE, CONTROL or ALT), or a joypad button (JOY1, JOY2, JOY3, to JOY16).
|
||||
If you want to use JOY9 through JOY16 you need to reconfigure vJoy. Search for vJoy Config in your start menu and set buttons to 16.
|
||||
|
||||
Alternatively, you can disable any key by binding it to NONE.
|
||||
|
||||
|
||||
Make sure to use a single space, not a tab for seperating settings,
|
||||
|
||||
|
||||
|
||||
|
||||
Port: 8889
|
||||
Throttle: 20
|
||||
Mouse Speed: 3
|
||||
vJoy Device: 1
|
||||
|
||||
Circle Pad: KEYS
|
||||
C Stick: MOUSE
|
||||
D Pad: KEYS
|
||||
Touch: MOUSE
|
||||
|
||||
A: SPACE
|
||||
B: E
|
||||
X: CONTROL
|
||||
Y: SHIFT
|
||||
L: CLICK
|
||||
R: RIGHT CLICK
|
||||
ZL: CONTROL
|
||||
ZR: SHIFT
|
||||
Start: ESCAPE
|
||||
Select: Q
|
||||
Tap: NONE
|
||||
|
||||
Left: A
|
||||
Right: D
|
||||
Up: W
|
||||
Down: S
|
||||
|
||||
Pad Left: A
|
||||
Pad Right: D
|
||||
Pad Up: W
|
||||
Pad Down: S
|
||||
|
||||
C Stick Left: NONE
|
||||
C Stick Right: NONE
|
||||
C Stick Up: NONE
|
||||
C Stick Down: NONE
|
38
PC/Makefile
38
PC/Makefile
|
@ -1,38 +0,0 @@
|
|||
CC := gcc
|
||||
LN := gcc
|
||||
ODIR := build
|
||||
SDIR := source
|
||||
IDIR := include
|
||||
LDIR := lib
|
||||
CFLAGS := -I$(IDIR) -fms-extensions -O2 -Wall
|
||||
LFLAGS := $(LDIR)/vJoyInterface.lib -lws2_32 -lGdi32 -lgdiplus -static-libgcc
|
||||
CFILES := $(wildcard $(SDIR)/*.c)
|
||||
OBJS := $(patsubst $(SDIR)/%.c, $(ODIR)/%.o, $(wildcard $(SDIR)/*.c))
|
||||
|
||||
PLATFORM = $(shell uname)
|
||||
|
||||
ifeq ($(findstring Linux,$(PLATFORM)),Linux)
|
||||
TARGET=3DSController
|
||||
endif
|
||||
|
||||
ifeq ($(findstring Darwin,$(PLATFORM)),Darwin)
|
||||
TARGET=3DSController
|
||||
endif
|
||||
|
||||
ifeq ($(findstring MINGW,$(PLATFORM)),MINGW)
|
||||
TARGET=3DSController.exe
|
||||
endif
|
||||
|
||||
$(TARGET): $(ODIR) $(OBJS)
|
||||
$(LN) $(ODIR)/*.o -o $(TARGET) $(CFLAGS) $(LFLAGS)
|
||||
|
||||
$(ODIR)/%.o: $(SDIR)/%.c
|
||||
$(CC) -c -o $@ $< $(CFLAGS)
|
||||
|
||||
$(ODIR):
|
||||
@mkdir $@
|
||||
|
||||
.PHONY: clean
|
||||
|
||||
clean:
|
||||
rm -f $(TARGET) $(ODIR)/*.o
|
|
@ -1,7 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
void error(const char *functionName);
|
||||
|
||||
int clamp(int val, int min, int max);
|
|
@ -1,29 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
#ifndef WINVER
|
||||
#define WINVER 0x0500
|
||||
#endif
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
#include "public.h"
|
||||
#include "vjoyinterface.h"
|
||||
|
||||
#define joyX iReport.wAxisX
|
||||
#define joyY iReport.wAxisY
|
||||
#define joyRX iReport.wAxisXRot
|
||||
#define joyRY iReport.wAxisYRot
|
||||
//#define joyVolume iReport.wSlider
|
||||
#define joyVolume iReport.wAxisZ
|
||||
#define povHat iReport.bHats
|
||||
|
||||
#define joyButtons iReport.lButtons
|
||||
|
||||
#define JOY_MIDDLE (128 * 128)
|
||||
|
||||
extern int ContPovNumber;
|
||||
//extern BOOL ContinuousPOV;
|
||||
|
||||
extern JOYSTICK_POSITION iReport;
|
||||
|
||||
BOOL updateJoystick(int);
|
|
@ -1,6 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
extern unsigned char keyboardActive;
|
||||
extern unsigned char keyboardToggle;
|
||||
|
||||
char currentKeyboardKey(void);
|
|
@ -1,109 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
#include <windows.h>
|
||||
#include <winable.h>
|
||||
#include <winuser.h>
|
||||
|
||||
// For some reason, these are not defined in winuser.h like they used to be...
|
||||
#ifndef VK_OEM_MINUS
|
||||
#define VK_OEM_MINUS 0xBD
|
||||
#endif
|
||||
#ifndef VK_OEM_COMMA
|
||||
#define VK_OEM_COMMA 0xBC
|
||||
#endif
|
||||
#ifndef KEYEVENTF_SCANCODE
|
||||
#define KEYEVENTF_SCANCODE 0x08
|
||||
#endif
|
||||
|
||||
#ifndef MAPVK_VK_TO_VSC
|
||||
#define MAPVK_VK_TO_VSC 0
|
||||
#endif
|
||||
|
||||
#define newpress(key) ((currentKeys & key) && !(lastKeys & key))
|
||||
#define release(key) (!(currentKeys & key) && (lastKeys & key))
|
||||
|
||||
#define handleKey(DSKey, PCKey) do {\
|
||||
if(!PCKey.useJoypad) {\
|
||||
if(newpress(DSKey)) simulateKeyNewpress(PCKey.virtualKey);\
|
||||
if(release(DSKey)) simulateKeyRelease(PCKey.virtualKey);\
|
||||
}\
|
||||
else if(PCKey.useJoypad == 1) {\
|
||||
if(currentKeys & DSKey) joyButtons |= PCKey.joypadButton;\
|
||||
else joyButtons &= ~PCKey.joypadButton;\
|
||||
}\
|
||||
else if(PCKey.useJoypad == 2) {\
|
||||
if(currentKeys & DSKey) joyButtons |= PCKey.joypadButton << 8;\
|
||||
else joyButtons &= ~(PCKey.joypadButton << 8);\
|
||||
}\
|
||||
} while(0)
|
||||
|
||||
#define BIT(n) (1 << (n))
|
||||
|
||||
typedef enum {
|
||||
KEY_A = BIT(0),
|
||||
KEY_B = BIT(1),
|
||||
KEY_SELECT = BIT(2),
|
||||
KEY_START = BIT(3),
|
||||
KEY_DRIGHT = BIT(4),
|
||||
KEY_DLEFT = BIT(5),
|
||||
KEY_DUP = BIT(6),
|
||||
KEY_DDOWN = BIT(7),
|
||||
KEY_R = BIT(8),
|
||||
KEY_L = BIT(9),
|
||||
KEY_X = BIT(10),
|
||||
KEY_Y = BIT(11),
|
||||
KEY_ZL = BIT(14), // (new 3DS only)
|
||||
KEY_ZR = BIT(15), // (new 3DS only)
|
||||
KEY_TOUCH = BIT(20), // Not actually provided by HID
|
||||
KEY_CSTICK_RIGHT = BIT(24), // c-stick (new 3DS only)
|
||||
KEY_CSTICK_LEFT = BIT(25), // c-stick (new 3DS only)
|
||||
KEY_CSTICK_UP = BIT(26), // c-stick (new 3DS only)
|
||||
KEY_CSTICK_DOWN = BIT(27), // c-stick (new 3DS only)
|
||||
KEY_CPAD_RIGHT = BIT(28), // circle pad
|
||||
KEY_CPAD_LEFT = BIT(29), // circle pad
|
||||
KEY_CPAD_UP = BIT(30), // circle pad
|
||||
KEY_CPAD_DOWN = BIT(31), // circle pad
|
||||
|
||||
// Generic catch-all directions
|
||||
KEY_UP = KEY_DUP | KEY_CPAD_UP,
|
||||
KEY_DOWN = KEY_DDOWN | KEY_CPAD_DOWN,
|
||||
KEY_LEFT = KEY_DLEFT | KEY_CPAD_LEFT,
|
||||
KEY_RIGHT = KEY_DRIGHT | KEY_CPAD_RIGHT,
|
||||
} KEYPAD_BITS;
|
||||
|
||||
struct keyMapping {
|
||||
unsigned char useJoypad; // 0 keyboard key, 1 joypad1-8, 2 joypad9-16, 3 hat
|
||||
union {
|
||||
unsigned char virtualKey;
|
||||
unsigned char joypadButton;
|
||||
};
|
||||
};
|
||||
|
||||
struct circlePad {
|
||||
short x;
|
||||
short y;
|
||||
};
|
||||
|
||||
struct cStick {
|
||||
short x;
|
||||
short y;
|
||||
};
|
||||
|
||||
struct touch {
|
||||
short x;
|
||||
short y;
|
||||
};
|
||||
|
||||
extern unsigned int lastKeys;
|
||||
extern unsigned int currentKeys;
|
||||
|
||||
extern unsigned int volume;
|
||||
|
||||
extern struct circlePad circlePad;
|
||||
extern struct cStick cStick;
|
||||
extern struct touch lastTouch;
|
||||
extern struct touch currentTouch;
|
||||
|
||||
unsigned int mapVirtualKey(unsigned int key);
|
||||
void simulateKeyNewpress(unsigned int key);
|
||||
void simulateKeyRelease(unsigned int key);
|
|
@ -1,227 +0,0 @@
|
|||
/*++
|
||||
|
||||
Copyright (c) Shaul Eizikovich. All rights reserved.
|
||||
|
||||
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
|
||||
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
|
||||
PURPOSE.
|
||||
|
||||
Module Name:
|
||||
|
||||
public.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Public header file for the vJoy project
|
||||
Developpers that need to interface with vJoy need to include this file
|
||||
|
||||
Author:
|
||||
|
||||
|
||||
Environment:
|
||||
|
||||
kernel mode and User mode
|
||||
|
||||
Notes:
|
||||
|
||||
|
||||
Revision History:
|
||||
|
||||
|
||||
--*/
|
||||
#ifndef _PUBLIC_H
|
||||
#define _PUBLIC_H
|
||||
|
||||
// Compilation directives
|
||||
#define PPJOY_MODE
|
||||
#undef PPJOY_MODE // Comment-out for compatibility mode
|
||||
|
||||
#ifdef PPJOY_MODE
|
||||
#include "PPJIoctl.h"
|
||||
#endif
|
||||
|
||||
#include <INITGUID.H> // Definitions for controlling GUID initialization
|
||||
|
||||
//
|
||||
// Usage example:
|
||||
// CreateFile(TEXT("\\\\.\\vJoy"), GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
|
||||
#ifdef PPJOY_MODE
|
||||
#define DEVICENAME_STRING "PPJoyIOCTL1"
|
||||
#else
|
||||
#define DEVICENAME_STRING "vJoy"
|
||||
#endif
|
||||
#define NTDEVICE_NAME_STRING "\\Device\\"DEVICENAME_STRING
|
||||
#define SYMBOLIC_NAME_STRING "\\DosDevices\\"DEVICENAME_STRING
|
||||
#define DOS_FILE_NAME "\\\\.\\"DEVICENAME_STRING
|
||||
#define VJOY_INTERFACE L"Device_"
|
||||
|
||||
// Version parts
|
||||
#define VER_X_ 0
|
||||
#define VER_H_ 2
|
||||
#define VER_M_ 0
|
||||
#define VER_L_ 5
|
||||
|
||||
#define STRINGIFY_1(x) #x
|
||||
#define STRINGIFY(x) STRINGIFY_1(x)
|
||||
#define PASTE(x, y) x##y
|
||||
#define MAKEWIDE(x) PASTE(L,x)
|
||||
|
||||
// Device Attributes
|
||||
//
|
||||
#define VENDOR_N_ID 0x1234
|
||||
#define PRODUCT_N_ID 0xBEAD
|
||||
#define VERSION_N (VER_L_ + 0x10*VER_M_ + 0x100*VER_H_ + 0x1000*VER_X_)
|
||||
|
||||
// Device Strings
|
||||
//
|
||||
#define VENDOR_STR_ID L"Shaul Eizikovich"
|
||||
#define PRODUCT_STR_ID L"vJoy - Virtual Joystick"
|
||||
#define SERIALNUMBER_STR MAKEWIDE(STRINGIFY(VER_H_)) L"." MAKEWIDE(STRINGIFY(VER_M_)) L"." MAKEWIDE(STRINGIFY(VER_L_))
|
||||
|
||||
// Function codes;
|
||||
//#define LOAD_POSITIONS 0x910
|
||||
//#define GETATTRIB 0x911
|
||||
// #define GET_FFB_DATA 0x00222912 // METHOD_OUT_DIRECT + FILE_DEVICE_UNKNOWN + FILE_ANY_ACCESS
|
||||
//#define SET_FFB_STAT 0x913 // METHOD_NEITHER
|
||||
//#define GET_FFB_STAT 0x916
|
||||
|
||||
#define F_LOAD_POSITIONS 0x910
|
||||
#define F_GETATTRIB 0x911
|
||||
#define F_GET_FFB_DATA 0x912
|
||||
#define F_SET_FFB_STAT 0x913
|
||||
#define F_GET_FFB_STAT 0x916
|
||||
#define F_GET_DEV_INFO 0x917
|
||||
// IO Device Control codes;
|
||||
#define IOCTL_VJOY_GET_ATTRIB CTL_CODE (FILE_DEVICE_UNKNOWN, GETATTRIB, METHOD_BUFFERED, FILE_WRITE_ACCESS)
|
||||
#define LOAD_POSITIONS CTL_CODE (FILE_DEVICE_UNKNOWN, F_LOAD_POSITIONS, METHOD_BUFFERED, FILE_WRITE_ACCESS)
|
||||
#define GET_FFB_DATA CTL_CODE (FILE_DEVICE_UNKNOWN, F_GET_FFB_DATA, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
|
||||
#define SET_FFB_STAT CTL_CODE (FILE_DEVICE_UNKNOWN, F_SET_FFB_STAT, METHOD_NEITHER, FILE_ANY_ACCESS)
|
||||
#define GET_FFB_STAT CTL_CODE (FILE_DEVICE_UNKNOWN, F_GET_FFB_STAT, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define GET_DEV_INFO CTL_CODE (FILE_DEVICE_UNKNOWN, F_GET_DEV_INFO, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
#ifndef __HIDPORT_H__
|
||||
// Copied from hidport.h
|
||||
#define IOCTL_HID_SET_FEATURE 0xB0191
|
||||
#define IOCTL_HID_WRITE_REPORT 0xB000F
|
||||
|
||||
#define MAX_N_DEVICES 16 // Maximum number of vJoy devices
|
||||
|
||||
|
||||
typedef struct _HID_DEVICE_ATTRIBUTES {
|
||||
|
||||
ULONG Size;
|
||||
//
|
||||
// sizeof (struct _HID_DEVICE_ATTRIBUTES)
|
||||
//
|
||||
|
||||
//
|
||||
// Vendor ids of this hid device
|
||||
//
|
||||
USHORT VendorID;
|
||||
USHORT ProductID;
|
||||
USHORT VersionNumber;
|
||||
USHORT Reserved[11];
|
||||
|
||||
} HID_DEVICE_ATTRIBUTES, * PHID_DEVICE_ATTRIBUTES;
|
||||
#endif
|
||||
|
||||
// Error levels for status report
|
||||
enum ERRLEVEL {INFO, WARN, ERR, FATAL, APP};
|
||||
// Status report function prototype
|
||||
#ifdef WINAPI
|
||||
typedef BOOL (WINAPI *StatusMessageFunc)(void * output, TCHAR * buffer, enum ERRLEVEL level);
|
||||
#endif
|
||||
|
||||
///////////////////////////////////////////////////////////////
|
||||
|
||||
/////////////////////// Joystick Position ///////////////////////
|
||||
//
|
||||
// This structure holds data that is passed to the device from
|
||||
// an external application such as SmartPropoPlus.
|
||||
//
|
||||
// Usage example:
|
||||
// JOYSTICK_POSITION iReport;
|
||||
// :
|
||||
// DeviceIoControl (hDevice, 100, &iReport, sizeof(HID_INPUT_REPORT), NULL, 0, &bytes, NULL)
|
||||
typedef struct _JOYSTICK_POSITION
|
||||
{
|
||||
BYTE bDevice; // Index of device. 1-based.
|
||||
LONG wThrottle;
|
||||
LONG wRudder;
|
||||
LONG wAileron;
|
||||
LONG wAxisX;
|
||||
LONG wAxisY;
|
||||
LONG wAxisZ;
|
||||
LONG wAxisXRot;
|
||||
LONG wAxisYRot;
|
||||
LONG wAxisZRot;
|
||||
LONG wSlider;
|
||||
LONG wDial;
|
||||
LONG wWheel;
|
||||
LONG wAxisVX;
|
||||
LONG wAxisVY;
|
||||
LONG wAxisVZ;
|
||||
LONG wAxisVBRX;
|
||||
LONG wAxisVBRY;
|
||||
LONG wAxisVBRZ;
|
||||
LONG lButtons; // 32 buttons: 0x00000001 means button1 is pressed, 0x80000000 -> button32 is pressed
|
||||
DWORD bHats; // Lower 4 bits: HAT switch or 16-bit of continuous HAT switch
|
||||
DWORD bHatsEx1; // Lower 4 bits: HAT switch or 16-bit of continuous HAT switch
|
||||
DWORD bHatsEx2; // Lower 4 bits: HAT switch or 16-bit of continuous HAT switch
|
||||
DWORD bHatsEx3; // Lower 4 bits: HAT switch or 16-bit of continuous HAT switch
|
||||
} JOYSTICK_POSITION, *PJOYSTICK_POSITION;
|
||||
|
||||
// Superset of JOYSTICK_POSITION
|
||||
// Extension of JOYSTICK_POSITION with Buttons 33-128 appended to the end of the structure.
|
||||
typedef struct _JOYSTICK_POSITION_V2
|
||||
{
|
||||
/// JOYSTICK_POSITION
|
||||
BYTE bDevice; // Index of device. 1-based.
|
||||
LONG wThrottle;
|
||||
LONG wRudder;
|
||||
LONG wAileron;
|
||||
LONG wAxisX;
|
||||
LONG wAxisY;
|
||||
LONG wAxisZ;
|
||||
LONG wAxisXRot;
|
||||
LONG wAxisYRot;
|
||||
LONG wAxisZRot;
|
||||
LONG wSlider;
|
||||
LONG wDial;
|
||||
LONG wWheel;
|
||||
LONG wAxisVX;
|
||||
LONG wAxisVY;
|
||||
LONG wAxisVZ;
|
||||
LONG wAxisVBRX;
|
||||
LONG wAxisVBRY;
|
||||
LONG wAxisVBRZ;
|
||||
LONG lButtons; // 32 buttons: 0x00000001 means button1 is pressed, 0x80000000 -> button32 is pressed
|
||||
DWORD bHats; // Lower 4 bits: HAT switch or 16-bit of continuous HAT switch
|
||||
DWORD bHatsEx1; // Lower 4 bits: HAT switch or 16-bit of continuous HAT switch
|
||||
DWORD bHatsEx2; // Lower 4 bits: HAT switch or 16-bit of continuous HAT switch
|
||||
DWORD bHatsEx3; // Lower 4 bits: HAT switch or 16-bit of continuous HAT switch LONG lButtonsEx1; // Buttons 33-64
|
||||
|
||||
/// JOYSTICK_POSITION_V2 Extenssion
|
||||
LONG lButtonsEx1; // Buttons 33-64
|
||||
LONG lButtonsEx2; // Buttons 65-96
|
||||
LONG lButtonsEx3; // Buttons 97-128
|
||||
} JOYSTICK_POSITION_V2, *PJOYSTICK_POSITION_V2;
|
||||
|
||||
|
||||
// HID Descriptor definitions
|
||||
#define HID_USAGE_X 0x30
|
||||
#define HID_USAGE_Y 0x31
|
||||
#define HID_USAGE_Z 0x32
|
||||
#define HID_USAGE_RX 0x33
|
||||
#define HID_USAGE_RY 0x34
|
||||
#define HID_USAGE_RZ 0x35
|
||||
#define HID_USAGE_SL0 0x36
|
||||
#define HID_USAGE_SL1 0x37
|
||||
#define HID_USAGE_WHL 0x38
|
||||
#define HID_USAGE_POV 0x39
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
#include <stdbool.h>
|
||||
|
||||
#include "keys.h"
|
||||
|
||||
enum analogue {
|
||||
mouse,
|
||||
joystick1,
|
||||
joystick2,
|
||||
keys,
|
||||
};
|
||||
|
||||
enum dPad {
|
||||
key,
|
||||
pov,
|
||||
cPov,
|
||||
};
|
||||
|
||||
struct settings {
|
||||
int port;
|
||||
int throttle;
|
||||
enum analogue circlePad;
|
||||
enum analogue cStick;
|
||||
enum analogue touch;
|
||||
enum dPad dPad;
|
||||
int mouseSpeed;
|
||||
UINT vJoyDevice;
|
||||
struct keyMapping A, B, X, Y, L, R, ZL, ZR, Start, Select, Tap, Left, Right, Up, Down, PadLeft, PadRight, PadUp, PadDown, CSLeft, CSRight, CSUp, CSDown;
|
||||
};
|
||||
|
||||
extern struct settings settings;
|
||||
extern struct settings defaultSettings;
|
||||
|
||||
bool readSettings(void);
|
|
@ -1,104 +0,0 @@
|
|||
// The following ifdef block is the standard way of creating macros which make exporting
|
||||
// from a DLL simpler. All files within this DLL are compiled with the VJOYINTERFACE_EXPORTS
|
||||
// symbol defined on the command line. this symbol should not be defined on any project
|
||||
// that uses this DLL. This way any other project whose source files include this file see
|
||||
// VJOYINTERFACE_API functions as being imported from a DLL, whereas this DLL sees symbols
|
||||
// defined with this macro as being exported.
|
||||
#ifdef VJOYINTERFACE_EXPORTS
|
||||
#define VJOYINTERFACE_API __declspec(dllexport)
|
||||
#else
|
||||
#define VJOYINTERFACE_API __declspec(dllimport)
|
||||
#endif
|
||||
|
||||
///////////////////////////// vJoy device (collection) status ////////////////////////////////////////////
|
||||
#ifndef VJDSTAT
|
||||
#define VJDSTAT
|
||||
enum VjdStat /* Declares an enumeration data type called BOOLEAN */
|
||||
{
|
||||
VJD_STAT_OWN, // The vJoy Device is owned by this application.
|
||||
VJD_STAT_FREE, // The vJoy Device is NOT owned by any application (including this one).
|
||||
VJD_STAT_BUSY, // The vJoy Device is owned by another application. It cannot be acquired by this application.
|
||||
VJD_STAT_MISS, // The vJoy Device is missing. It either does not exist or the driver is down.
|
||||
VJD_STAT_UNKN // Unknown
|
||||
};
|
||||
|
||||
/* Error codes for some of the functions */
|
||||
#define NO_HANDLE_BY_INDEX -1
|
||||
#define BAD_PREPARSED_DATA -2
|
||||
#define NO_CAPS -3
|
||||
#define BAD_N_BTN_CAPS -4
|
||||
#define BAD_CALLOC -5
|
||||
#define BAD_BTN_CAPS -6
|
||||
#define BAD_BTN_RANGE -7
|
||||
#define BAD_N_VAL_CAPS -8
|
||||
#define BAD_ID_RANGE -9
|
||||
#define NO_SUCH_AXIS -10
|
||||
|
||||
/* Environment Variables */
|
||||
#define INTERFACE_LOG_LEVEL "VJOYINTERFACELOGLEVEL"
|
||||
#define INTERFACE_LOG_FILE "VJOYINTERFACELOGFILE"
|
||||
#define INTERFACE_DEF_LOG_FILE "vJoyInterface.log"
|
||||
|
||||
struct DEV_INFO {
|
||||
BYTE DeviceID; // Device ID: Valid values are 1-16
|
||||
BYTE nImplemented; // Number of implemented device: Valid values are 1-16
|
||||
BYTE isImplemented; // Is this device implemented?
|
||||
BYTE MaxDevices; // Maximum number of devices that may be implemented (16)
|
||||
BYTE DriverFFB; // Does this driver support FFB (False)
|
||||
BYTE DeviceFFB; // Does this device support FFB (False)
|
||||
} ;
|
||||
|
||||
typedef void (CALLBACK *RemovalCB)(BOOL, BOOL, PVOID);
|
||||
|
||||
#endif
|
||||
///////////////////////////// vJoy device (collection) Control interface /////////////////////////////////
|
||||
/*
|
||||
These functions allow writing feeders and other applications that interface with vJoy
|
||||
It is assumed that only one vJoy top-device (= Raw PDO) exists.
|
||||
This top-level device can have up to 16 siblings (=top-level Reports/collections)
|
||||
Each sibling is refered to as a "vJoy Device" and is attributed a unique Report ID (Range: 1-16).
|
||||
|
||||
Naming convetion:
|
||||
VJD = vJoy Device
|
||||
rID = Report ID
|
||||
*/
|
||||
|
||||
///// General driver data
|
||||
VJOYINTERFACE_API SHORT __cdecl GetvJoyVersion(void);
|
||||
VJOYINTERFACE_API BOOL __cdecl vJoyEnabled(void);
|
||||
VJOYINTERFACE_API PVOID __cdecl GetvJoyProductString(void);
|
||||
VJOYINTERFACE_API PVOID __cdecl GetvJoyManufacturerString(void);
|
||||
VJOYINTERFACE_API PVOID __cdecl GetvJoySerialNumberString(void);
|
||||
VJOYINTERFACE_API BOOL __cdecl DriverMatch(WORD * DllVer, WORD * DrvVer);
|
||||
VJOYINTERFACE_API VOID __cdecl RegisterRemovalCB(RemovalCB cb, PVOID data);
|
||||
|
||||
|
||||
///// vJoy Device properties
|
||||
VJOYINTERFACE_API int __cdecl GetVJDButtonNumber(UINT rID); // Get the number of buttons defined in the specified VDJ
|
||||
VJOYINTERFACE_API int __cdecl GetVJDDiscPovNumber(UINT rID); // Get the number of descrete-type POV hats defined in the specified VDJ
|
||||
VJOYINTERFACE_API int __cdecl GetVJDContPovNumber(UINT rID); // Get the number of descrete-type POV hats defined in the specified VDJ
|
||||
VJOYINTERFACE_API BOOL __cdecl GetVJDAxisExist(UINT rID, UINT Axis); // Test if given axis defined in the specified VDJ
|
||||
VJOYINTERFACE_API BOOL __cdecl GetVJDAxisMax(UINT rID, UINT Axis, LONG * Max); // Get logical Maximum value for a given axis defined in the specified VDJ
|
||||
VJOYINTERFACE_API BOOL __cdecl GetVJDAxisMin(UINT rID, UINT Axis, LONG * Min); // Get logical Minimum value for a given axis defined in the specified VDJ
|
||||
|
||||
///// Write access to vJoy Device - Basic
|
||||
VJOYINTERFACE_API BOOL __cdecl AcquireVJD(UINT rID); // Acquire the specified vJoy Device.
|
||||
VJOYINTERFACE_API VOID __cdecl RelinquishVJD(UINT rID); // Relinquish the specified vJoy Device.
|
||||
VJOYINTERFACE_API BOOL __cdecl UpdateVJD(UINT rID, PVOID pData); // Update the position data of the specified vJoy Device.
|
||||
VJOYINTERFACE_API enum VjdStat __cdecl GetVJDStatus(UINT rID); // Get the status of the specified vJoy Device.
|
||||
|
||||
///// Write access to vJoy Device - Modifyiers
|
||||
// This group of functions modify the current value of the position data
|
||||
// They replace the need to create a structure of position data then call UpdateVJD
|
||||
|
||||
//// Reset functions
|
||||
VJOYINTERFACE_API BOOL __cdecl ResetVJD(UINT rID); // Reset all controls to predefined values in the specified VDJ
|
||||
VJOYINTERFACE_API VOID __cdecl ResetAll(void); // Reset all controls to predefined values in all VDJ
|
||||
VJOYINTERFACE_API BOOL __cdecl ResetButtons(UINT rID); // Reset all buttons (To 0) in the specified VDJ
|
||||
VJOYINTERFACE_API BOOL __cdecl ResetPovs(UINT rID); // Reset all POV Switches (To -1) in the specified VDJ
|
||||
|
||||
// Write data
|
||||
VJOYINTERFACE_API BOOL __cdecl SetAxis(LONG Value, UINT rID, UINT Axis); // Write Value to a given axis defined in the specified VDJ
|
||||
VJOYINTERFACE_API BOOL __cdecl SetBtn(BOOL Value, UINT rID, UCHAR nBtn); // Write Value to a given button defined in the specified VDJ
|
||||
VJOYINTERFACE_API BOOL __cdecl SetDiscPov(int Value, UINT rID, UCHAR nPov); // Write Value to a given descrete POV defined in the specified VDJ
|
||||
VJOYINTERFACE_API BOOL __cdecl SetContPov(DWORD Value, UINT rID, UCHAR nPov); // Write Value to a given continuous POV defined in the specified VDJ
|
|
@ -1,84 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
#ifndef WINVER
|
||||
#define WINVER 0x0500
|
||||
#endif
|
||||
|
||||
#include <windows.h>
|
||||
#include <winsock.h>
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#define SCREENSHOT_CHUNK 4000
|
||||
|
||||
#define IP INADDR_ANY
|
||||
|
||||
enum NET_COMMANDS {
|
||||
CONNECT,
|
||||
KEYS,
|
||||
SCREENSHOT,
|
||||
};
|
||||
|
||||
// It is deliberately set up to have an anonymous struct as well as a named struct for convenience, not a mistake!
|
||||
struct packet {
|
||||
struct packetHeader {
|
||||
unsigned char command;
|
||||
unsigned char keyboardActive;
|
||||
};
|
||||
struct packetHeader packetHeader;
|
||||
|
||||
union {
|
||||
// CONNECT
|
||||
struct connectPacket {
|
||||
};
|
||||
struct connectPacket connectPacket;
|
||||
|
||||
// KEYS
|
||||
struct keysPacket {
|
||||
unsigned int keys;
|
||||
|
||||
struct {
|
||||
short x;
|
||||
short y;
|
||||
} circlePad;
|
||||
|
||||
struct {
|
||||
unsigned short x;
|
||||
unsigned short y;
|
||||
} touch;
|
||||
|
||||
struct {
|
||||
short x;
|
||||
short y;
|
||||
} cStick;
|
||||
|
||||
unsigned int volume;
|
||||
};
|
||||
struct keysPacket keysPacket;
|
||||
|
||||
// SCREENSHOT
|
||||
struct screenshotPacket {
|
||||
unsigned short offset;
|
||||
unsigned char data[SCREENSHOT_CHUNK];
|
||||
};
|
||||
struct screenshotPacket screenshotPacket;
|
||||
};
|
||||
};
|
||||
|
||||
extern SOCKET listener;
|
||||
extern SOCKET client;
|
||||
|
||||
extern struct sockaddr_in client_in;
|
||||
|
||||
extern int sockaddr_in_sizePtr;
|
||||
|
||||
extern struct packet buffer;
|
||||
extern char hostName[80];
|
||||
|
||||
void initNetwork(void);
|
||||
void printIPs(void);
|
||||
void startListening(void);
|
||||
void sendBuffer(int length);
|
||||
int receiveBuffer(int length);
|
||||
|
||||
void sendScreenshot(void);
|
Binary file not shown.
|
@ -1,30 +0,0 @@
|
|||
#include "wireless.h"
|
||||
|
||||
#include "general.h"
|
||||
|
||||
void error(const char *functionName) {
|
||||
char errorMsg[92];
|
||||
ZeroMemory(errorMsg, 92);
|
||||
|
||||
sprintf(errorMsg, "Call to %s returned error %d!", (char *)functionName, WSAGetLastError());
|
||||
|
||||
MessageBox(NULL, errorMsg, "socketIndication", MB_OK);
|
||||
|
||||
closesocket(client);
|
||||
closesocket(listener);
|
||||
WSACleanup();
|
||||
|
||||
exit(0);
|
||||
}
|
||||
|
||||
int clamp (int val, int min, int max) {
|
||||
if (val < min) {
|
||||
return min;
|
||||
}
|
||||
|
||||
if (val > max) {
|
||||
return max;
|
||||
}
|
||||
|
||||
return val;
|
||||
}
|
|
@ -1,26 +0,0 @@
|
|||
#include <stdio.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#include "joystick.h"
|
||||
|
||||
int ContPovNumber;
|
||||
//BOOL ContinuousPOV = FALSE;
|
||||
|
||||
JOYSTICK_POSITION iReport;
|
||||
|
||||
BOOL updateJoystick(iInterface) {
|
||||
BYTE id = (BYTE)iInterface;
|
||||
|
||||
iReport.bDevice = id;
|
||||
|
||||
if(!UpdateVJD(iInterface, (PVOID)&iReport)) {
|
||||
/*printf("vJoy device %d failed - try to enable device\n", iInterface);
|
||||
printf("PRESS ENTER TO CONTINUE\n");
|
||||
getchar();
|
||||
AcquireVJD(iInterface);
|
||||
ContinuousPOV = (BOOL)GetVJDContPovNumber(iInterface);*/
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
#include <stdbool.h>
|
||||
|
||||
#include "keys.h"
|
||||
|
||||
#include "keyboard.h"
|
||||
|
||||
unsigned char keyboardActive = false;
|
||||
unsigned char keyboardToggle = true;
|
||||
|
||||
inline char currentKeyboardKey(void) {
|
||||
const char chars[60] = "!1234567890\x08QWERTYUIOP\13\13ASDFGHJKL-\13\13ZXCVBNM,.?\13\13\0\0\0 \0\0\0\0";
|
||||
|
||||
if(currentTouch.x >= 1 && currentTouch.x <= 312 && currentTouch.y >= 78 && currentTouch.y <= 208) {
|
||||
int x = (int)((float)currentTouch.x * 12.0f / 320.0f);
|
||||
int y = (int)((float)(currentTouch.y - 78) * 12.0f / 320.0f);
|
||||
|
||||
return chars[x + y * 12];
|
||||
}
|
||||
|
||||
else return 0;
|
||||
}
|
|
@ -1,80 +0,0 @@
|
|||
#include "keys.h"
|
||||
#include "joystick.h"
|
||||
|
||||
// Sideband comunication with vJoy Device
|
||||
//{781EF630-72B2-11d2-B852-00C04FAD5101}
|
||||
//DEFINE_GUID(GUID_DEVINTERFACE_VJOY, 0x781EF630, 0x72B2, 0x11d2, 0xB8, 0x52, 0x00, 0xC0, 0x4F, 0xAD, 0x51, 0x01);
|
||||
|
||||
unsigned int lastKeys;
|
||||
unsigned int currentKeys;
|
||||
unsigned int volume; //slider
|
||||
|
||||
struct circlePad circlePad;
|
||||
struct cStick cStick;
|
||||
struct touch lastTouch;
|
||||
struct touch currentTouch;
|
||||
|
||||
inline unsigned int mapVirtualKey(unsigned int key) {
|
||||
return MapVirtualKey(key, MAPVK_VK_TO_VSC);
|
||||
}
|
||||
|
||||
void simulateKeyNewpress(unsigned int key) {
|
||||
if(!key) return;
|
||||
|
||||
unsigned char unshift = 0;
|
||||
|
||||
INPUT ip = { 0 };
|
||||
|
||||
if(key == VK_LBUTTON || key == VK_RBUTTON) {
|
||||
ip.type = INPUT_MOUSE;
|
||||
ip.mi.dwFlags = key == VK_LBUTTON ? MOUSEEVENTF_LEFTDOWN : MOUSEEVENTF_RIGHTDOWN;
|
||||
}
|
||||
else {
|
||||
if(key == '!') {
|
||||
key = '1';
|
||||
simulateKeyNewpress(VK_SHIFT);
|
||||
unshift = 1;
|
||||
}
|
||||
else if(key == '?') {
|
||||
key = VK_DIVIDE;
|
||||
simulateKeyNewpress(VK_SHIFT);
|
||||
unshift = 1;
|
||||
}
|
||||
|
||||
else if(key == '-') key = VK_OEM_MINUS;
|
||||
else if(key == ',') key = VK_OEM_COMMA;
|
||||
else if(key == '\13') key = VK_RETURN;
|
||||
|
||||
ip.type = INPUT_KEYBOARD;
|
||||
ip.ki.wScan = mapVirtualKey(key);
|
||||
ip.ki.time = 0;
|
||||
ip.ki.dwExtraInfo = 0;
|
||||
ip.ki.wVk = 0;
|
||||
ip.ki.dwFlags = KEYEVENTF_SCANCODE;
|
||||
}
|
||||
|
||||
SendInput(1, &ip, sizeof(INPUT));
|
||||
|
||||
if(unshift) simulateKeyRelease(VK_SHIFT);
|
||||
}
|
||||
|
||||
void simulateKeyRelease(unsigned int key) {
|
||||
if(!key) return;
|
||||
|
||||
INPUT ip = { 0 };
|
||||
|
||||
if(key == VK_LBUTTON || key == VK_RBUTTON) {
|
||||
ip.type = INPUT_MOUSE;
|
||||
ip.mi.dwFlags = key == VK_LBUTTON ? MOUSEEVENTF_LEFTUP : MOUSEEVENTF_RIGHTUP;
|
||||
}
|
||||
else {
|
||||
ip.type = INPUT_KEYBOARD;
|
||||
ip.ki.wScan = mapVirtualKey(key);
|
||||
ip.ki.time = 0;
|
||||
ip.ki.dwExtraInfo = 0;
|
||||
ip.ki.wVk = 0;
|
||||
ip.ki.dwFlags = KEYEVENTF_SCANCODE | KEYEVENTF_KEYUP;
|
||||
}
|
||||
|
||||
SendInput(1, &ip, sizeof(INPUT));
|
||||
}
|
300
PC/source/main.c
300
PC/source/main.c
|
@ -1,300 +0,0 @@
|
|||
// 3DS Controller Server
|
||||
|
||||
#define VERSION "0.7.2"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "wireless.h"
|
||||
#include "keys.h"
|
||||
#include "general.h"
|
||||
#include "joystick.h"
|
||||
#include "settings.h"
|
||||
#include "keyboard.h"
|
||||
|
||||
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmd, int nShow) {
|
||||
printf("3DS Controller Server %s\n", VERSION);
|
||||
|
||||
DWORD screenWidth = GetSystemMetrics(SM_CXSCREEN);
|
||||
DWORD screenHeight = GetSystemMetrics(SM_CYSCREEN);
|
||||
|
||||
double widthMultiplier = screenWidth / 320.0;
|
||||
double heightMultiplier = screenHeight / 240.0;
|
||||
|
||||
if(!readSettings()) {
|
||||
printf("Couldn't read settings file, using default key bindings.\n");
|
||||
}
|
||||
|
||||
bool vJoy = true;
|
||||
UINT iInterface = settings.vJoyDevice;
|
||||
|
||||
iReport.wAxisX = JOY_MIDDLE;
|
||||
iReport.wAxisY = JOY_MIDDLE;
|
||||
iReport.wAxisZ = JOY_MIDDLE;
|
||||
iReport.wAxisXRot = JOY_MIDDLE;
|
||||
iReport.wAxisYRot = JOY_MIDDLE;
|
||||
iReport.wAxisZRot = JOY_MIDDLE;
|
||||
iReport.wSlider = JOY_MIDDLE;
|
||||
iReport.wDial = JOY_MIDDLE;
|
||||
iReport.lButtons = 0;
|
||||
iReport.bHats = -1;
|
||||
|
||||
if(vJoy && !vJoyEnabled()) {
|
||||
printf("vJoy failed (1)! Buttons will still work, but joy stick won't work.\n");
|
||||
vJoy = false;
|
||||
}
|
||||
|
||||
enum VjdStat status = GetVJDStatus(iInterface);
|
||||
if(vJoy && (status == VJD_STAT_OWN || (status == VJD_STAT_FREE && !AcquireVJD(iInterface)))) {
|
||||
printf("vJoy failed (2)! Buttons will still work, but joy stick won't work.\n");
|
||||
vJoy = false;
|
||||
}
|
||||
|
||||
ContPovNumber = GetVJDContPovNumber(iInterface);
|
||||
//int DiscPovNumber = GetVJDDiscPovNumber(iInterface);
|
||||
|
||||
if((settings.dPad == pov) && !(ContPovNumber == 0)) settings.dPad = cPov;
|
||||
|
||||
if(vJoy && !updateJoystick(iInterface)) {
|
||||
printf("vJoy failed (3)! Buttons will still work, but joystick won't work.\nIs vJoy device %d configured?\n",iInterface);
|
||||
vJoy = false;
|
||||
} else printf("Connected to vJoy device %d\n",iInterface);
|
||||
|
||||
initNetwork();
|
||||
|
||||
char nButtons = GetVJDButtonNumber(iInterface);
|
||||
if(vJoy && nButtons <16) printf("Your vJoy has %d buttons, 3DSController supports 16!\n", nButtons);
|
||||
|
||||
printf("Port: %d\n", settings.port);
|
||||
|
||||
printf("Running on: %s\n", hostName);
|
||||
|
||||
printf("Your local IP(s):\n");
|
||||
printIPs();
|
||||
|
||||
printf("\n");
|
||||
|
||||
startListening();
|
||||
|
||||
while(1) {
|
||||
memset(&buffer, 0, sizeof(struct packet));
|
||||
|
||||
while(receiveBuffer(sizeof(struct packet)) <= 0) {
|
||||
// Waiting
|
||||
|
||||
Sleep(settings.throttle);
|
||||
}
|
||||
|
||||
keyboardActive = buffer.keyboardActive;
|
||||
|
||||
switch(buffer.command) {
|
||||
case CONNECT:
|
||||
lastKeys = 0;
|
||||
currentKeys = 0;
|
||||
circlePad.x = 0;
|
||||
circlePad.y = 0;
|
||||
lastTouch.x = 0;
|
||||
lastTouch.y = 0;
|
||||
currentTouch.x = 0;
|
||||
currentTouch.y = 0;
|
||||
cStick.x = 0;
|
||||
cStick.y = 0;
|
||||
|
||||
buffer.command = CONNECT;
|
||||
printf("3DS Connected!\n");
|
||||
|
||||
Sleep(50);
|
||||
sendBuffer(1);
|
||||
|
||||
Sleep(50);
|
||||
sendBuffer(1);
|
||||
|
||||
Sleep(50);
|
||||
sendBuffer(1);
|
||||
break;
|
||||
|
||||
case KEYS:
|
||||
lastKeys = currentKeys;
|
||||
if(currentKeys & KEY_TOUCH) lastTouch = currentTouch;
|
||||
|
||||
memcpy(¤tKeys, &buffer.keys, 4);
|
||||
memcpy(&circlePad, &buffer.circlePad, 4);
|
||||
memcpy(¤tTouch, &buffer.touch, 4);
|
||||
memcpy(&cStick, &buffer.cStick, 4);
|
||||
memcpy(&volume, &buffer.volume, 4);
|
||||
//printf("\rVolume is currently: %x ", volume); //test
|
||||
|
||||
handleKey(KEY_A, settings.A);
|
||||
handleKey(KEY_B, settings.B);
|
||||
handleKey(KEY_SELECT, settings.Select);
|
||||
handleKey(KEY_START, settings.Start);
|
||||
if(settings.dPad == key) { //Handle normally if not using POV in settings.
|
||||
handleKey(KEY_DRIGHT, settings.Right);
|
||||
handleKey(KEY_DLEFT, settings.Left);
|
||||
handleKey(KEY_DUP, settings.Up);
|
||||
handleKey(KEY_DDOWN, settings.Down);
|
||||
}
|
||||
handleKey(KEY_R, settings.R);
|
||||
handleKey(KEY_L, settings.L);
|
||||
handleKey(KEY_ZR, settings.ZR);
|
||||
handleKey(KEY_ZL, settings.ZL);
|
||||
handleKey(KEY_X, settings.X);
|
||||
handleKey(KEY_Y, settings.Y);
|
||||
|
||||
if(settings.circlePad == keys) {
|
||||
handleKey(KEY_CPAD_RIGHT, settings.PadRight);
|
||||
handleKey(KEY_CPAD_LEFT, settings.PadLeft);
|
||||
handleKey(KEY_CPAD_UP, settings.PadUp);
|
||||
handleKey(KEY_CPAD_DOWN, settings.PadDown);
|
||||
}
|
||||
|
||||
if(settings.cStick == keys) {
|
||||
handleKey(KEY_CSTICK_RIGHT, settings.CSRight);
|
||||
handleKey(KEY_CSTICK_LEFT, settings.CSLeft);
|
||||
handleKey(KEY_CSTICK_UP, settings.CSUp);
|
||||
handleKey(KEY_CSTICK_DOWN, settings.CSDown);
|
||||
}
|
||||
|
||||
//handleKey(KEY_LID, 'I');
|
||||
|
||||
if(newpress(KEY_TOUCH)) {
|
||||
lastTouch.x = currentTouch.x;
|
||||
lastTouch.y = currentTouch.y;
|
||||
}
|
||||
|
||||
if((currentKeys & KEY_TOUCH)) {
|
||||
if(keyboardActive) {
|
||||
if(newpress(KEY_TOUCH)) {
|
||||
char letter = currentKeyboardKey();
|
||||
if(letter) {
|
||||
simulateKeyNewpress(letter);
|
||||
simulateKeyRelease(letter);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(settings.touch == mouse) {
|
||||
if(settings.mouseSpeed) {
|
||||
POINT p;
|
||||
GetCursorPos(&p);
|
||||
SetCursorPos(p.x + (currentTouch.x - lastTouch.x) * settings.mouseSpeed, p.y + (currentTouch.y - lastTouch.y) * settings.mouseSpeed);
|
||||
}
|
||||
else {
|
||||
SetCursorPos((int)((double)currentTouch.x * widthMultiplier), (int)((double)currentTouch.y * heightMultiplier));
|
||||
}
|
||||
}
|
||||
else if(settings.touch == joystick1) { //made a little bit more accurate to the screen size.
|
||||
joyX = (int)((float)(currentTouch.x) * 102.3f);
|
||||
joyY = (int)((float)(currentTouch.y) * 136.5f);
|
||||
}
|
||||
|
||||
else if(settings.touch == joystick2) {
|
||||
joyRX = (int)((float)(currentTouch.x) * 102.3f);
|
||||
joyRY = (int)((float)(currentTouch.y) * 136.5f);
|
||||
}
|
||||
else {
|
||||
handleKey(KEY_TOUCH, settings.Tap);
|
||||
}
|
||||
} else { //If we are not touching, move to center (Like if you release the joystick on a normal controller).
|
||||
if(settings.touch == joystick1) {
|
||||
joyX = 16383; //Halfway between the x
|
||||
joyY = 16383; //Halfway between the y
|
||||
}
|
||||
|
||||
else if(settings.touch == joystick2) {
|
||||
joyRX = 16383; //Halfway between the rx
|
||||
joyRY = 16383; //Halfway between the ry
|
||||
}
|
||||
}
|
||||
|
||||
if(settings.circlePad == mouse) {
|
||||
if(abs(circlePad.x) < settings.mouseSpeed * 3) circlePad.x = 0;
|
||||
if(abs(circlePad.y) < settings.mouseSpeed * 3) circlePad.y = 0;
|
||||
|
||||
POINT p;
|
||||
GetCursorPos(&p);
|
||||
SetCursorPos(p.x + (circlePad.x * settings.mouseSpeed) / 32, p.y - (circlePad.y * settings.mouseSpeed) / 32);
|
||||
}
|
||||
else if(settings.circlePad == joystick1) {
|
||||
joyX = clamp((circlePad.x + 128) * 128, 0, 32767);
|
||||
joyY = clamp((128 - circlePad.y) * 128, 0, 32767);
|
||||
}
|
||||
|
||||
else if(settings.circlePad == joystick2) {
|
||||
joyRX = clamp((circlePad.x + 128) * 128, 0, 32767);
|
||||
joyRY = clamp((128 - circlePad.y) * 128, 0, 32767);
|
||||
}
|
||||
|
||||
if(settings.cStick == mouse) {
|
||||
if(abs(cStick.x) < settings.mouseSpeed * 3) cStick.x = 0;
|
||||
if(abs(cStick.y) < settings.mouseSpeed * 3) cStick.y = 0;
|
||||
|
||||
POINT p;
|
||||
GetCursorPos(&p);
|
||||
SetCursorPos(p.x + (cStick.x * settings.mouseSpeed) / 32, p.y - (cStick.y * settings.mouseSpeed) / 32);
|
||||
}
|
||||
|
||||
else if(settings.cStick == joystick1) {
|
||||
joyX = clamp((cStick.x + 128) * 128, 0, 32767);
|
||||
joyY = clamp((128 - cStick.y) * 128, 0, 32767);
|
||||
}
|
||||
|
||||
else if(settings.cStick == joystick2) {
|
||||
joyRX = clamp((cStick.x + 128) * 128, 0, 32767);
|
||||
joyRY = clamp((128 - cStick.y) * 128, 0, 32767);
|
||||
}
|
||||
|
||||
|
||||
if(settings.dPad == cPov) {
|
||||
if((currentKeys & KEY_DUP) && !(currentKeys & KEY_DLEFT)) {
|
||||
if((currentKeys & KEY_DRIGHT)) {
|
||||
povHat = 4500;
|
||||
} else {
|
||||
povHat = 0;
|
||||
}
|
||||
} else if((currentKeys & KEY_DRIGHT)) {
|
||||
if((currentKeys & KEY_DDOWN)) {
|
||||
povHat = 13500;
|
||||
} else {
|
||||
povHat = 9000;
|
||||
}
|
||||
} else if((currentKeys & KEY_DDOWN)) {
|
||||
if((currentKeys & KEY_DLEFT)) {
|
||||
povHat = 22500;
|
||||
} else {
|
||||
povHat = 18000;
|
||||
}
|
||||
} else if((currentKeys & KEY_DLEFT)) {
|
||||
if ((currentKeys & KEY_DUP)) {
|
||||
povHat = 31500;
|
||||
} else {
|
||||
povHat = 27000;
|
||||
}
|
||||
}
|
||||
|
||||
if(!((currentKeys & KEY_DUP) || (currentKeys & KEY_DRIGHT) || (currentKeys & KEY_DDOWN) || (currentKeys & KEY_DLEFT))) {
|
||||
//If none are pressed, reset the POV hat
|
||||
povHat = -1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
else if(settings.dPad == pov) {
|
||||
if((currentKeys & KEY_DUP) && !(currentKeys & KEY_DLEFT)) iReport.bHats = 0;
|
||||
else if(currentKeys & KEY_DRIGHT) iReport.bHats = 1;
|
||||
else if (currentKeys & KEY_DDOWN) iReport.bHats = 2;
|
||||
else if (currentKeys & KEY_DLEFT) iReport.bHats = 3;
|
||||
else iReport.bHats = -1;
|
||||
}
|
||||
|
||||
joyVolume = volume * 512;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
if(vJoy) updateJoystick(iInterface);
|
||||
}
|
||||
|
||||
error("accept()");
|
||||
return 0;
|
||||
}
|
|
@ -1,201 +0,0 @@
|
|||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <windows.h>
|
||||
|
||||
#include "keys.h"
|
||||
#include "wireless.h"
|
||||
|
||||
#include "settings.h"
|
||||
|
||||
struct settings settings;
|
||||
|
||||
struct settings defaultSettings = {
|
||||
port: 8889,
|
||||
throttle: 20,
|
||||
circlePad: joystick1,
|
||||
cStick: joystick2,
|
||||
touch: mouse,
|
||||
mouseSpeed: 4,
|
||||
vJoyDevice: 1,
|
||||
A: { 1, {'A'} },
|
||||
B: { 1, {'B'} },
|
||||
X: { 1, {'X'} },
|
||||
Y: { 1, {'Y'} },
|
||||
L: { 1, {'L'} },
|
||||
R: { 1, {'R'} },
|
||||
ZL: { 1, {'Q'} },
|
||||
ZR: { 1, {'W'} },
|
||||
Left: { 1, {VK_LEFT} },
|
||||
Right: { 1, {VK_RIGHT} },
|
||||
Up: { 1, {VK_UP} },
|
||||
Down: { 1, {VK_DOWN} },
|
||||
Start: { 1, {VK_RETURN} },
|
||||
Select: { 1, {VK_BACK} },
|
||||
Tap: { 1, {'T'} },
|
||||
};
|
||||
|
||||
static bool getSetting(char *name, char *src, char *dest) {
|
||||
char *start = strstr(src, name);
|
||||
|
||||
if(start) {
|
||||
start += strlen(name);
|
||||
|
||||
char *end = start + strlen(start);
|
||||
if(strstr(start, "\n") - 1 < end) end = strstr(start, "\n") - 1;
|
||||
size_t size = (size_t)end - (size_t)start;
|
||||
|
||||
strncpy(dest, start, size);
|
||||
dest[size] = '\0';
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
static struct keyMapping getButton(char *string) {
|
||||
struct keyMapping k = { 1, {0} };
|
||||
|
||||
k.useJoypad = 0;
|
||||
if(strcmp(string, "SPACE") == 0) k.virtualKey = VK_SPACE;
|
||||
else if(strcmp(string, "CLICK") == 0) k.virtualKey = VK_LBUTTON;
|
||||
else if(strcmp(string, "RIGHT CLICK") == 0) k.virtualKey = VK_RBUTTON;
|
||||
else if(strcmp(string, "ENTER") == 0) k.virtualKey = VK_RETURN;
|
||||
else if(strcmp(string, "BACKSPACE") == 0) k.virtualKey = VK_BACK;
|
||||
else if(strcmp(string, "SHIFT") == 0) k.virtualKey = VK_SHIFT;
|
||||
else if(strcmp(string, "TAB") == 0) k.virtualKey = VK_TAB;
|
||||
else if(strcmp(string, "LEFT") == 0) k.virtualKey = VK_LEFT;
|
||||
else if(strcmp(string, "RIGHT") == 0) k.virtualKey = VK_RIGHT;
|
||||
else if(strcmp(string, "UP") == 0) k.virtualKey = VK_UP;
|
||||
else if(strcmp(string, "DOWN") == 0) k.virtualKey = VK_DOWN;
|
||||
else if(strcmp(string, "PAGE UP") == 0) k.virtualKey = VK_PRIOR;
|
||||
else if(strcmp(string, "PAGE DOWN") == 0) k.virtualKey = VK_NEXT;
|
||||
else if(strcmp(string, "WINDOWS") == 0) k.virtualKey = VK_LWIN;
|
||||
else if(strcmp(string, "ESCAPE") == 0) k.virtualKey = VK_ESCAPE;
|
||||
else if(strcmp(string, "CONTROL") == 0) k.virtualKey = VK_CONTROL;
|
||||
else if(strcmp(string, "ALT") == 0) k.virtualKey = VK_MENU;
|
||||
else if(strcmp(string, "NONE") == 0) k.virtualKey = 0;
|
||||
|
||||
else if(strcmp(string, "JOY1") == 0) { k.useJoypad = 1; k.joypadButton = 1 << 0; }
|
||||
else if(strcmp(string, "JOY2") == 0) { k.useJoypad = 1; k.joypadButton = 1 << 1; }
|
||||
else if(strcmp(string, "JOY3") == 0) { k.useJoypad = 1; k.joypadButton = 1 << 2; }
|
||||
else if(strcmp(string, "JOY4") == 0) { k.useJoypad = 1; k.joypadButton = 1 << 3; }
|
||||
else if(strcmp(string, "JOY5") == 0) { k.useJoypad = 1; k.joypadButton = 1 << 4; }
|
||||
else if(strcmp(string, "JOY6") == 0) { k.useJoypad = 1; k.joypadButton = 1 << 5; }
|
||||
else if(strcmp(string, "JOY7") == 0) { k.useJoypad = 1; k.joypadButton = 1 << 6; }
|
||||
else if(strcmp(string, "JOY8") == 0) { k.useJoypad = 1; k.joypadButton = 1 << 7; }
|
||||
else if(strcmp(string, "JOY9") == 0) { k.useJoypad = 2; k.joypadButton = 1 << 0; }
|
||||
else if(strcmp(string, "JOY10") == 0) { k.useJoypad = 2; k.joypadButton = 1 << 1; }
|
||||
else if(strcmp(string, "JOY11") == 0) { k.useJoypad = 2; k.joypadButton = 1 << 2; }
|
||||
else if(strcmp(string, "JOY12") == 0) { k.useJoypad = 2; k.joypadButton = 1 << 3; }
|
||||
else if(strcmp(string, "JOY13") == 0) { k.useJoypad = 2; k.joypadButton = 1 << 4; }
|
||||
else if(strcmp(string, "JOY14") == 0) { k.useJoypad = 2; k.joypadButton = 1 << 5; }
|
||||
else if(strcmp(string, "JOY15") == 0) { k.useJoypad = 2; k.joypadButton = 1 << 6; }
|
||||
else if(strcmp(string, "JOY16") == 0) { k.useJoypad = 2; k.joypadButton = 1 << 7; }
|
||||
|
||||
else k.virtualKey = (int)string[0];
|
||||
|
||||
return k;
|
||||
}
|
||||
|
||||
bool readSettings(void) {
|
||||
FILE *f;
|
||||
size_t len = 0;
|
||||
char *buffer = NULL;
|
||||
|
||||
memcpy(&settings, &defaultSettings, sizeof(struct settings));
|
||||
|
||||
f = fopen("3DSController.ini", "rb");
|
||||
if(!f) {
|
||||
return false;
|
||||
}
|
||||
|
||||
fseek(f, 0, SEEK_END);
|
||||
len = ftell(f);
|
||||
rewind(f);
|
||||
|
||||
buffer = malloc(len);
|
||||
if(!buffer) {
|
||||
fclose(f);
|
||||
return false;
|
||||
}
|
||||
|
||||
fread(buffer, 1, len, f);
|
||||
|
||||
char setting[64] = { '\0' };
|
||||
|
||||
if(getSetting("Port: ", buffer, setting)) {
|
||||
sscanf(setting, "%d", &settings.port);
|
||||
}
|
||||
|
||||
if(getSetting("Throttle: ", buffer, setting)) {
|
||||
sscanf(setting, "%d", &settings.throttle);
|
||||
}
|
||||
|
||||
if(getSetting("Circle Pad: ", buffer, setting)) {
|
||||
if(strcmp(setting, "MOUSE") == 0) settings.circlePad = mouse;
|
||||
else if(strcmp(setting, "JOYSTICK1") == 0) settings.circlePad = joystick1;
|
||||
else if(strcmp(setting, "JOYSTICK2") == 0) settings.circlePad = joystick2;
|
||||
else if(strcmp(setting, "KEYS") == 0) settings.circlePad = keys;
|
||||
}
|
||||
|
||||
if(getSetting("C Stick: ", buffer, setting)) {
|
||||
if(strcmp(setting, "MOUSE") == 0) settings.cStick = mouse;
|
||||
else if(strcmp(setting, "JOYSTICK1") == 0) settings.cStick = joystick1;
|
||||
else if(strcmp(setting, "JOYSTICK2") == 0) settings.cStick = joystick2;
|
||||
else if(strcmp(setting, "KEYS") == 0) settings.cStick = keys;
|
||||
}
|
||||
|
||||
if(getSetting("D Pad: ", buffer, setting)) {
|
||||
if(strcmp(setting, "KEYS") == 0) settings.dPad = key;
|
||||
if(strcmp(setting, "POV") == 0) settings.dPad = pov;
|
||||
}
|
||||
|
||||
if(getSetting("Touch: ", buffer, setting)) {
|
||||
if(strcmp(setting, "MOUSE") == 0) settings.touch = mouse;
|
||||
else if(strcmp(setting, "JOYSTICK1") == 0) settings.touch = joystick1;
|
||||
else if(strcmp(setting, "JOYSTICK2") == 0) settings.touch = joystick2;
|
||||
}
|
||||
|
||||
if(getSetting("Mouse Speed: ", buffer, setting)) {
|
||||
sscanf(setting, "%d", &settings.mouseSpeed);
|
||||
}
|
||||
|
||||
if(getSetting("vJoy Device: ", buffer, setting)) {
|
||||
sscanf(setting, "%d", &settings.vJoyDevice);
|
||||
}
|
||||
|
||||
if(getSetting("A: ", buffer, setting)) settings.A = getButton(setting);
|
||||
if(getSetting("B: ", buffer, setting)) settings.B = getButton(setting);
|
||||
if(getSetting("X: ", buffer, setting)) settings.X = getButton(setting);
|
||||
if(getSetting("Y: ", buffer, setting)) settings.Y = getButton(setting);
|
||||
if(getSetting("L: ", buffer, setting)) settings.L = getButton(setting);
|
||||
if(getSetting("R: ", buffer, setting)) settings.R = getButton(setting);
|
||||
if(getSetting("ZL: ", buffer, setting)) settings.ZL = getButton(setting);
|
||||
if(getSetting("ZR: ", buffer, setting)) settings.ZR = getButton(setting);
|
||||
if(getSetting("Left: ", buffer, setting)) settings.Left = getButton(setting);
|
||||
if(getSetting("Right: ", buffer, setting)) settings.Right = getButton(setting);
|
||||
if(getSetting("Up: ", buffer, setting)) settings.Up = getButton(setting);
|
||||
if(getSetting("Down: ", buffer, setting)) settings.Down = getButton(setting);
|
||||
if(getSetting("Start: ", buffer, setting)) settings.Start = getButton(setting);
|
||||
if(getSetting("Select: ", buffer, setting)) settings.Select = getButton(setting);
|
||||
if(getSetting("Tap: ", buffer, setting)) settings.Tap = getButton(setting);
|
||||
|
||||
if(settings.circlePad == keys) {
|
||||
if(getSetting("Pad Left: ", buffer, setting)) settings.PadLeft = getButton(setting);
|
||||
if(getSetting("Pad Right: ", buffer, setting)) settings.PadRight = getButton(setting);
|
||||
if(getSetting("Pad Up: ", buffer, setting)) settings.PadUp = getButton(setting);
|
||||
if(getSetting("Pad Down: ", buffer, setting)) settings.PadDown = getButton(setting);
|
||||
}
|
||||
|
||||
if(settings.cStick == keys) {
|
||||
if(getSetting("C Stick Left: ", buffer, setting)) settings.CSLeft = getButton(setting);
|
||||
if(getSetting("C Stick Right: ", buffer, setting)) settings.CSRight = getButton(setting);
|
||||
if(getSetting("C Stick Up: ", buffer, setting)) settings.CSUp = getButton(setting);
|
||||
if(getSetting("C Stick Down: ", buffer, setting)) settings.CSDown = getButton(setting);
|
||||
}
|
||||
|
||||
fclose(f);
|
||||
|
||||
return true;
|
||||
}
|
|
@ -1,80 +0,0 @@
|
|||
#include <stddef.h>
|
||||
|
||||
#include "general.h"
|
||||
|
||||
#include "settings.h"
|
||||
|
||||
#include "wireless.h"
|
||||
|
||||
SOCKET listener;
|
||||
SOCKET client;
|
||||
|
||||
struct sockaddr_in client_in;
|
||||
|
||||
int sockaddr_in_sizePtr = (int)sizeof(struct sockaddr_in);
|
||||
|
||||
struct packet buffer;
|
||||
char hostName[80];
|
||||
|
||||
void initNetwork(void) {
|
||||
WSADATA wsaData;
|
||||
|
||||
WSAStartup(MAKEWORD(2, 2), &wsaData);
|
||||
|
||||
if(gethostname(hostName, sizeof(hostName)) == SOCKET_ERROR) {
|
||||
error("gethostname()");
|
||||
}
|
||||
}
|
||||
|
||||
void printIPs(void) {
|
||||
struct hostent *phe = gethostbyname(hostName);
|
||||
if(phe == 0) {
|
||||
error("gethostbyname()");
|
||||
}
|
||||
|
||||
int i;
|
||||
for(i = 0; phe->h_addr_list[i] != 0; i++) {
|
||||
struct in_addr addr;
|
||||
memcpy(&addr, phe->h_addr_list[i], sizeof(struct in_addr));
|
||||
printf("%s\n", inet_ntoa(addr));
|
||||
}
|
||||
|
||||
if(i) {
|
||||
printf("Usually you want the first one.\n");
|
||||
}
|
||||
}
|
||||
|
||||
void startListening(void) {
|
||||
int nret;
|
||||
|
||||
listener = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
|
||||
|
||||
if(listener == INVALID_SOCKET) {
|
||||
error("socket()");
|
||||
}
|
||||
|
||||
SOCKADDR_IN serverInfo;
|
||||
|
||||
serverInfo.sin_family = AF_INET;
|
||||
serverInfo.sin_addr.s_addr = IP;
|
||||
serverInfo.sin_port = htons(settings.port);
|
||||
|
||||
u_long one = 1;
|
||||
ioctlsocket(listener, FIONBIO, &one);
|
||||
|
||||
nret = bind(listener, (LPSOCKADDR)&serverInfo, sizeof(struct sockaddr));
|
||||
|
||||
if(nret == SOCKET_ERROR) {
|
||||
error("bind()");
|
||||
}
|
||||
}
|
||||
|
||||
void sendBuffer(int length) {
|
||||
if(sendto(listener, (char *)&buffer, length, 0, (struct sockaddr *)&client_in, sizeof(struct sockaddr_in)) != length) {
|
||||
error("sendto");
|
||||
}
|
||||
}
|
||||
|
||||
int receiveBuffer(int length) {
|
||||
return recvfrom(listener, (char *)&buffer, length, 0, (struct sockaddr *)&client_in, &sockaddr_in_sizePtr);
|
||||
}
|
Binary file not shown.
Loading…
Reference in New Issue