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
82 changed files with 7792 additions and 1682 deletions
|
@ -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));
|
||||
}
|
232
3DS_Controller-evdev.py
Executable file
232
3DS_Controller-evdev.py
Executable file
|
@ -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,6 +119,10 @@ 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
|
||||
|
@ -158,11 +183,18 @@ while True:
|
|||
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
|
BIN
3DSsource/.cache/clangd/index/drawing.c.9A766EA2C4EBCEF1.idx
Normal file
BIN
3DSsource/.cache/clangd/index/drawing.c.9A766EA2C4EBCEF1.idx
Normal file
Binary file not shown.
BIN
3DSsource/.cache/clangd/index/drawing.h.16C4F80A8AECC63E.idx
Normal file
BIN
3DSsource/.cache/clangd/index/drawing.h.16C4F80A8AECC63E.idx
Normal file
Binary file not shown.
BIN
3DSsource/.cache/clangd/index/inet_pton.c.4306404DC5EE955D.idx
Normal file
BIN
3DSsource/.cache/clangd/index/inet_pton.c.4306404DC5EE955D.idx
Normal file
Binary file not shown.
BIN
3DSsource/.cache/clangd/index/inet_pton.h.6EDBCC1AC4E13367.idx
Normal file
BIN
3DSsource/.cache/clangd/index/inet_pton.h.6EDBCC1AC4E13367.idx
Normal file
Binary file not shown.
BIN
3DSsource/.cache/clangd/index/input.c.D646AA52ACF026D9.idx
Normal file
BIN
3DSsource/.cache/clangd/index/input.c.D646AA52ACF026D9.idx
Normal file
Binary file not shown.
BIN
3DSsource/.cache/clangd/index/input.h.12E2D8F3A8816EB4.idx
Normal file
BIN
3DSsource/.cache/clangd/index/input.h.12E2D8F3A8816EB4.idx
Normal file
Binary file not shown.
BIN
3DSsource/.cache/clangd/index/keyboard.c.32AF28A829B08D09.idx
Normal file
BIN
3DSsource/.cache/clangd/index/keyboard.c.32AF28A829B08D09.idx
Normal file
Binary file not shown.
BIN
3DSsource/.cache/clangd/index/keyboard.h.45D3627D76601738.idx
Normal file
BIN
3DSsource/.cache/clangd/index/keyboard.h.45D3627D76601738.idx
Normal file
Binary file not shown.
BIN
3DSsource/.cache/clangd/index/main.c.5FC1D53B6B0B4E61.idx
Normal file
BIN
3DSsource/.cache/clangd/index/main.c.5FC1D53B6B0B4E61.idx
Normal file
Binary file not shown.
BIN
3DSsource/.cache/clangd/index/settings.h.8D0C2727D24BA4A1.idx
Normal file
BIN
3DSsource/.cache/clangd/index/settings.h.8D0C2727D24BA4A1.idx
Normal file
Binary file not shown.
BIN
3DSsource/.cache/clangd/index/wireless.h.2B91FFCE696AC53B.idx
Normal file
BIN
3DSsource/.cache/clangd/index/wireless.h.2B91FFCE696AC53B.idx
Normal file
Binary file not shown.
37
3DSsource/.gdb_history
Normal file
37
3DSsource/.gdb_history
Normal file
|
@ -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
|
3
3DSsource/.vscode/settings.json
vendored
Normal file
3
3DSsource/.vscode/settings.json
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"cSpell.enabled": false
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
3DSsource/3DSController.elf
Executable file
BIN
3DSsource/3DSController.elf
Executable file
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
|
BIN
3DSsource/3DSControllerstripped.elf
Executable file
BIN
3DSsource/3DSControllerstripped.elf
Executable file
Binary file not shown.
730
3DSsource/build/3DSController.lst
Normal file
730
3DSsource/build/3DSController.lst
Normal file
|
@ -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
|
5173
3DSsource/build/3DSController.map
Normal file
5173
3DSsource/build/3DSController.map
Normal file
File diff suppressed because it is too large
Load diff
171
3DSsource/build/drawing.d
Normal file
171
3DSsource/build/drawing.d
Normal file
|
@ -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:
|
BIN
3DSsource/build/drawing.o
Normal file
BIN
3DSsource/build/drawing.o
Normal file
Binary file not shown.
177
3DSsource/build/inet_pton.d
Normal file
177
3DSsource/build/inet_pton.d
Normal file
|
@ -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:
|
BIN
3DSsource/build/inet_pton.o
Normal file
BIN
3DSsource/build/inet_pton.o
Normal file
Binary file not shown.
173
3DSsource/build/input.d
Normal file
173
3DSsource/build/input.d
Normal file
|
@ -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:
|
BIN
3DSsource/build/input.o
Normal file
BIN
3DSsource/build/input.o
Normal file
Binary file not shown.
173
3DSsource/build/keyboard.d
Normal file
173
3DSsource/build/keyboard.d
Normal file
|
@ -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:
|
BIN
3DSsource/build/keyboard.o
Normal file
BIN
3DSsource/build/keyboard.o
Normal file
Binary file not shown.
185
3DSsource/build/main.d
Normal file
185
3DSsource/build/main.d
Normal file
|
@ -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:
|
BIN
3DSsource/build/main.o
Normal file
BIN
3DSsource/build/main.o
Normal file
Binary file not shown.
179
3DSsource/build/settings.d
Normal file
179
3DSsource/build/settings.d
Normal file
|
@ -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:
|
BIN
3DSsource/build/settings.o
Normal file
BIN
3DSsource/build/settings.o
Normal file
Binary file not shown.
179
3DSsource/build/wireless.d
Normal file
179
3DSsource/build/wireless.d
Normal file
|
@ -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:
|
BIN
3DSsource/build/wireless.o
Normal file
BIN
3DSsource/build/wireless.o
Normal file
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);
|
198
3DSsource/source/main.c
Normal file
198
3DSsource/source/main.c
Normal file
|
@ -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;
|
||||
}
|
60
3DSsource/source/wireless.c
Normal file
60
3DSsource/source/wireless.c
Normal file
|
@ -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));
|
||||
}
|
42
DataDebug.py
Executable file
42
DataDebug.py
Executable file
|
@ -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 a new issue