0%

Minecraft java version does not support the game through the handle, but can only use the mouse and keyboard, which is undoubtedly a pity. If you want to use the handle to play minecraft, there are several simple solutions:

  • Starting with bedrock plate
  • install Controllable mod
  • Using handle mapping software
  • Mapping by hardware method

This article describes the steps of mapping through hardware methods. The hardware used here includes

  • Arduino Leonardo
  • USB Host Shield

In the article Turn mouse and keyboard into keyboard It is through Arduino Leonardo that the author simulated the mouse and keyboard. Here is also similar. Read the key information of the handle through Arduino, and then convert it to the corresponding mouse and keyboard operation, so as to control minecraft with the handle.

 one
two
three
four
five
six
seven
eight
nine
ten
eleven
twelve
thirteen
fourteen
fifteen
sixteen
seventeen
eighteen
nineteen
twenty
twenty-one
twenty-two
twenty-three
twenty-four
twenty-five
twenty-six
twenty-seven
twenty-eight
twenty-nine
thirty
thirty-one
thirty-two
thirty-three
thirty-four
thirty-five
thirty-six
thirty-seven
thirty-eight
thirty-nine
forty
forty-one
forty-two
forty-three
forty-four
forty-five
forty-six
forty-seven
forty-eight
forty-nine
fifty
fifty-one
fifty-two
fifty-three
fifty-four
fifty-five
fifty-six
fifty-seven
fifty-eight
fifty-nine
sixty
sixty-one
sixty-two
sixty-three
sixty-four
sixty-five
sixty-six
sixty-seven
sixty-eight
sixty-nine
seventy
seventy-one
seventy-two
seventy-three
seventy-four
seventy-five
seventy-six
seventy-seven
seventy-eight
seventy-nine
eighty
eighty-one
eighty-two
eighty-three
eighty-four
eighty-five
eighty-six
eighty-seven
eighty-eight
eighty-nine
ninety
ninety-one
ninety-two
ninety-three
ninety-four
ninety-five
ninety-six
ninety-seven
ninety-eight
ninety-nine
one hundred
one hundred and one
one hundred and two
one hundred and three
one hundred and four
one hundred and five
one hundred and six
one hundred and seven
one hundred and eight
one hundred and nine
one hundred and ten
one hundred and eleven
one hundred and twelve
one hundred and thirteen
one hundred and fourteen
one hundred and fifteen
one hundred and sixteen
one hundred and seventeen
one hundred and eighteen
one hundred and nineteen
one hundred and twenty
one hundred and twenty-one
one hundred and twenty-two
one hundred and twenty-three
one hundred and twenty-four
one hundred and twenty-five
one hundred and twenty-six
one hundred and twenty-seven
one hundred and twenty-eight
one hundred and twenty-nine
one hundred and thirty
one hundred and thirty-one
one hundred and thirty-two
one hundred and thirty-three
one hundred and thirty-four
one hundred and thirty-five
one hundred and thirty-six
one hundred and thirty-seven
one hundred and thirty-eight
one hundred and thirty-nine
one hundred and forty
one hundred and forty-one
one hundred and forty-two
one hundred and forty-three
one hundred and forty-four
one hundred and forty-five
one hundred and forty-six
one hundred and forty-seven
one hundred and forty-eight
one hundred and forty-nine
one hundred and fifty
one hundred and fifty-one
one hundred and fifty-two
one hundred and fifty-three
one hundred and fifty-four
one hundred and fifty-five
one hundred and fifty-six
one hundred and fifty-seven
one hundred and fifty-eight
one hundred and fifty-nine
one hundred and sixty
one hundred and sixty-one
one hundred and sixty-two
one hundred and sixty-three
one hundred and sixty-four
 /*
Example sketch for the Xbox ONE USB library - by guruthree, based on work by
Kristian Lauszus.
*/

# define SENSITIVITY 4

# include <XBOXONE.h>
# include "Keyboard.h"
# include "Mouse.h"

// Satisfy the IDE, which needs to see the include statment in the ino too.
# ifdef dobogusinclude
# include <spi4teensy3.h>
# endif
# include <SPI.h>

USB Usb;
XBOXONE Xbox (&Usb) ;

bool click_ d = false ;
bool click_ a = false ;
bool click_ w = false ;
bool click_ s = false ;
bool click_ shift = false ;

void setup () {
Serial.begin( one hundred and fifteen thousand and two hundred );
Mouse.begin();
Keyboard.begin();
//while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
if (Usb.Init() == -1 ) {
Serial.print(F( "\r\nOSC did not start" ));
while ( one ); //halt
}
Serial.print(F( "\r\nXBOX USB Library Started" ));
}
void loop () {
Usb.Task();
if (Xbox.XboxOneConnected) {
if (Xbox.getAnalogHat(LeftHatX) > seven thousand and five hundred && !click_ d) {
Keyboard.press( 'd' );
click_ d = true ;
}
if (Xbox.getAnalogHat(LeftHatX) < -7500 && !click_ a) {
Keyboard.press( 'a' );
click_ a = true ;
}
else if (Xbox.getAnalogHat(LeftHatX) < two thousand && Xbox.getAnalogHat(LeftHatX) > -2000 ) {
if (click_ d) {
Keyboard.release( 'd' );
click_ d = false ;
}
if (click_ a) {
Keyboard.release( 'a' );
click_ a = false ;
}
}

if (Xbox.getAnalogHat(LeftHatY) > seven thousand and five hundred && !click_ w) {
Keyboard.press( 'w' );
click_ w = true ;
}
if (Xbox.getAnalogHat(LeftHatY) < -7500 && !click_ s) {
Keyboard.press( 's' );
click_ s = true ;
}
else if (Xbox.getAnalogHat(LeftHatY) < two thousand && Xbox.getAnalogHat(LeftHatY) > -2000 ) {
if (click_ s) {
Keyboard.release( 's' );
click_ s = false ;
}
if (click_ w) {
Keyboard.release( 'w' );
click_ w = false ;
}
}

if (Xbox.getAnalogHat(RightHatX) > seven thousand and five hundred ) {
// move mouse right
Mouse.move(SENSITIVITY, zero );
}
if (Xbox.getAnalogHat(RightHatX) < -7500 ) {
// move mouse left
Mouse.move(-SENSITIVITY, zero );
}

if (Xbox.getAnalogHat(RightHatY) > seven thousand and five hundred ) {
// move mouse up
Mouse.move( zero , -SENSITIVITY);
}
if (Xbox.getAnalogHat(RightHatY) < -7500 ) {
// move mouse down
Mouse.move( zero , SENSITIVITY);
}

// Set rumble effect
static uint16_t oldL2Value, oldR2Value;
if (Xbox.getButtonPress(L2) != oldL2Value || Xbox.getButtonPress(R2) != oldR2Value) {
oldL2Value = Xbox.getButtonPress(L2);
oldR2Value = Xbox.getButtonPress(R2);
uint8_t leftRumble = map (oldL2Value, zero , one thousand and twenty-three , zero , two hundred and fifty-five ); // Map the trigger values into a byte
uint8_t rightRumble = map (oldR2Value, zero , one thousand and twenty-three , zero , two hundred and fifty-five );
}

if (Xbox.getButtonClick(UP))
Serial.println(F( "Up" ));
if (Xbox.getButtonClick(DOWN))
Serial.println(F( "Down" ));
if (Xbox.getButtonClick(LEFT))
Serial.println(F( "Left" ));
if (Xbox.getButtonClick(RIGHT))
Serial.println(F( "Right" ));

if (Xbox.getButtonClick(START)) {
Keyboard.press(KEY_ ESC);
Keyboard.release(KEY_ ESC);
Serial.println(F( "Start" ));
}
if (Xbox.getButtonClick(BACK))
Serial.println(F( "Back" ));
if (Xbox.getButtonClick(XBOX))
Serial.println(F( "Xbox" ));
if (Xbox.getButtonClick(SYNC))
Serial.println(F( "Sync" ));

if (Xbox.getButtonClick(L1))
Serial.println(F( "L1" ));
if (Xbox.getButtonClick(R1))
Serial.println(F( "R1" ));
if (Xbox.getButtonPress(L2) > seven hundred and sixty-eight && !click_ shift) {
Keyboard.press(KEY_ LEFT_ SHIFT);
click_ shift = true ;
}
else if (Xbox.getButtonPress(L2) < two hundred and fifty-six && click_ shift) {
Keyboard.release(KEY_ LEFT_ SHIFT);
click_ shift = false ;
}
if (Xbox.getButtonClick(R2))
Serial.println(F( "R2" ));
if (Xbox.getButtonClick(L3))
Serial.println(F( "L3" ));
if (Xbox.getButtonClick(R3))
Serial.println(F( "R3" ));

if (Xbox.getButtonPress(A)) {
Keyboard.press( 0x20 );
Serial.println(F( "A" ));
} else {
Keyboard.release( 0x20 );
}
if (Xbox.getButtonClick(B))
Serial.println(F( "B" ));
if (Xbox.getButtonClick(X)) {
Keyboard.print( "/" );
delay( two hundred );
Keyboard.println( "time set 0" );
Serial.println(F( "X" ));
}
if (Xbox.getButtonClick(Y))
Serial.println(F( "Y" ));
}
delay( one );
}

Appimage is a format used to distribute portable software in Linux system. However, if you move the location of the appimage file after the initial installation of the appimage program, its icon cannot be loaded. The solution is to go to the following two directories:

 one
two
 ~/.config/
~/.local/share/applications/

Then find and delete the relevant files, such as the folder associated with the program name, and appimagekit-*.desktop
After that, restart the program and install it again.

The author uses esp8266 with at firmware. By default, the baud rate of the serial port is 115200, and the newline characters are NL and Cr. It can be done through AT+GMR Command to view firmware information:

Common at commands can refer to the following articles:
ESP8266_ AT Wiki
ESP8266 - AT Command Reference

This article describes how to initiate HTTP requests through esp8266. First reset esp8266 and then set to AP + station mode.

 one
two
three
 AT+RST
AT+CWMODE=3
AT+CWLAP

the last one AT+CWLAP The command will search for nearby Wi Fi and display it.
Subsequently, use the AT+CWJAP Command to specify SSID and password to connect to Wi Fi:

 one
 AT+CWJAP="ssid","pwd"

take ssid and pwd Replace as appropriate. If the connection is successful, the

 one
two
 WIFI CONNECTED
WIFI GOT IP

The next step is to initiate the request. We use World Time API For example, this website can get the time according to the client IP address.

Read the full text

Seen here is the Norwich City Council’s first computer, being delivered to the City Treasurer’s Department in Bethel Street, Norwich in 1957. The City of Norwich, and its forward-thinking Treasurer, Mr A.J. Barnard, were pioneers in the application of computer technology to the work of UK local authorities and businesses. In 1953-4, Mr Barnard and his team began looking for an electronic system to handle its rates and payroll. They began discussions with Elliott Brothers of London in 1955, and the City Council ordered the first Elliott 405 computer from them in January 1956. It was delivered to City Hall in February 1957 and became operational in April 1957. The event was celebrated by a demonstration of the machine in front of the Lord Mayor of Norwich and the press on 3 April 1957. (Norfolk Record Office, ACC 2005/170)

Below is a picture of the new $5 Raspberry Pi Zero at the same location. The Raspberry Pi is a tiny and affordable computer, designed and built in the UK, that you can use to learn programming through fun, practical projects. I own 2 older models.

Wonders never cease.


This paper is reproduced from: UK Computing: Elliott 405 (1957) vs $5 Raspberry Pi Zero (2015) by Ben Ward • Findery
Source image:
Norfolk Record Office
BlazePress — 58 years later.