
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
react-pointerlock
Advanced tools
The Pointer Lock API (formerly called Mouse Lock API) provides input methods based on the movement of the mouse over time (i.e., deltas), not just the absolute position of the mouse cursor in the viewport. It gives you access to raw mouse movement, locks the target of mouse events to a single element, eliminates limits on how far mouse movement can go in a single direction, and removes the cursor from view. It is ideal for first person 3D games, for example.
example code using MDN Pointer Lock API
npm install reactPointLock
onMouseMove(movement, event)
onPointLock()
onExitPointLock()
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import PointerLock from 'react-pointerlock';
import './app.css';
class App extends Component {
constructor() {
super();
this.state = { x: 50, y: 50 };
this.onMouseMove = this.onMouseMove.bind(this);
}
componentDidMount() {
this.canvasDraw();
}
componentDidUpdate() {
this.canvasDraw();
}
onMouseMove(movement) {
const canvas = ReactDOM.findDOMNode(this.refs.canvas);
let x = this.state.x + movement.x;
let y = this.state.y + movement.y;
if (x > canvas.clientWidth + 20) {
x = 0;
}
if (y > canvas.clientHeight + 20) {
y = 0;
}
if (x < -15) {
x = canvas.clientWidth;
}
if (y < -15) {
y = canvas.clientHeight;
}
this.setState({ x: x, y: y });
}
canvasDraw() {
const canvas = ReactDOM.findDOMNode(this.refs.canvas);
const context = canvas.getContext('2d');
context.fillStyle = 'black';
context.fillRect(0, 0, canvas.clientWidth, canvas.clientHeight);
context.fillStyle = '#F9F903';
context.beginPath();
context.arc(this.state.x, this.state.y, 20, 0, Math.PI * 2, true);
context.fill();
}
render() {
return (
<div className="app">
<h1>Pointer lock demo</h1>
<p>This demo demonstrates usage of the pointer lock API. Click on the canvas area and your mouse will directly control the ball inside the canvas, not your mouse pointer. You can press escape to return to the standard expected state.</p>
<h2>X Position: { this.state.x }</h2>
<h2>Y Position: { this.state.y }</h2>
<PointerLock
onMouseMove={ this.onMouseMove } >
<canvas
width="640px"
height="369px"
ref="canvas"/>
</PointerLock>
</div>
);
}
}
ReactDOM.render(
<App />,
document.getElementById('app')
);
npm install
npm start
npm build
1.1.3 - Saturday, 12 December 07 : 35 : 39 (GMT 00:00)
FAQs
Pointerlock API for react.js
The npm package react-pointerlock receives a total of 3 weekly downloads. As such, react-pointerlock popularity was classified as not popular.
We found that react-pointerlock demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.