Comments (4)
I'm not sure what could be causing your issues.
Could you provide a code sample?
from xkeys.
Sure, here is the part of my watcher where I launch tasks (websocket input & setbacklight to =xkeys) :
const { XKeysWatcher } = require('xkeys2'); const watcher = new XKeysWatcher(); watcher.on('connected', (Xkeys80_1) => { Xkeys80_1.on('down', a => { //SHOW DVE if (a == '69' ) { IOSendData(['web'], 'sClick', 'dve1_box'); if (action3 == 'cg') { Xkeys80_1.setBacklight(a, 'red'); //red light POWER ON selected button action3 = 'nocg';} else { Xkeys80_1.setBacklight(a, false); //red light POWER OFF selected button action3 = 'cg';} } });
And here is the part that deals with the same command coming from the virtual key of the web app:
if(uiActionReceived.action == "cg"){
ccgChannel = uiActionReceived.channel;
ccgLayer = uiActionReceived.layer;
templateName = uiActionReceived.template;
tempData = uiActionReceived.data;
dvebox = uiActionReceived.device;
state = uiActionReceived.state;
divclass = uiActionReceived.divclass;
display = uiActionReceived.display;
file = uiActionReceived.file;
thumb = uiActionReceived.thumb;
if (dvebox == "dve1_box"){ action3 = state; class3 = divclass; display3 = display; file3 = file; thumb3 = thumb;
Xkeys80_1.setBacklight(69,"red");
};
}
when I click on the virtual key, Node stops and display this error:
" Xkeys80_1.setBacklight(69,'red');
^ TypeError: Cannot read properties of undefined (reading 'setBacklight') at uiActions (D:\Caspar\LiveProd\LiveProdSrv1.js:1485:16) at Socket. (D:\Caspar\LiveProd\LiveProdSrv1.js:1198:5) at Socket.emit (node:events:520:28) at D:\Caspar\LiveProd\node_modules\socket.io\dist\socket.js:435:32 at processTicksAndRejections (node:internal/process/task_queues:78:11) Node.js v17.4.0"
Have you got an idea ?
thx
from xkeys.
Ok, this is likely an issue of scope. The Xkeys80_1-variable you use in your second example is not the same as the one in the first example.
You could dock something in the spirit of
var myGlobalXkeys
watcher.on('connected',` (Xkeys80_1) => {
myGlobalXkeys = Xkeys80_1
}
And then use myGlobalXkeys in your second example.
This will of course cause issues if you connect another panel (or disconnect the first one), bit I'll leave that to you to figure out 🙂
from xkeys.
Simply but works Great
thx
from xkeys.
Related Issues (20)
- setBacklight with 'red' sets blue light on XKE-40 HOT 2
- Feature: a web implementation of XKeysWatcher HOT 1
- WebHID: methods which write (`sendReport`) to the device should be async HOT 1
- XK-12 Joystick using wrong bits HOT 8
- XK-8 support HOT 15
- Feature: WebHID HOT 1
- Closing down neatly HOT 4
- Can XKeysWatcher handle existing connections? HOT 2
- Multiple devices HOT 6
- Backlight methods HOT 6
- Help with building HOT 8
- Any known problems with Raspberry Pi? HOT 2
- XKeys.listAllConnectedPanels is not a function HOT 9
- How to dispose of an xkeysPanel? HOT 10
- UnhandledPromiseRejectionWarning when watcher fails to open device HOT 1
- npm packages have a lot of 'junk' files HOT 1
- XK-24 EEPROM retaining code? HOT 2
- yarn build-record-test doesn't work in root of repo
- Intermittent "NotAllowedError: Failed to write the report." on Chrome v115+ HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xkeys.