Skip to content

Commit 34043a9

Browse files
committed
fixup
1 parent c59e581 commit 34043a9

File tree

2 files changed

+42
-1
lines changed

2 files changed

+42
-1
lines changed

masm-tasm/resources/webview/script.js

+20-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
const vscode = acquireVsCodeApi();
2+
13
class Events{
24
consumers={frame:[],frameSize:[],exit:[]}
35
addConsumer(key,consumer){
@@ -44,7 +46,24 @@ window.addEventListener('message', event => {
4446
if(message.command==="ci"){
4547
ci._width=message.width
4648
ci._height=message.height
47-
webGl(document.getElementById("layout"),ci)
49+
const canvas=document.getElementById("layout");
50+
webGl(canvas,ci)
51+
window.addEventListener("keydown",(event)=>{
52+
vscode.postMessage(
53+
{
54+
command:"keydown",
55+
code:event.code
56+
}
57+
)
58+
})
59+
window.addEventListener("keyup",(event)=>{
60+
vscode.postMessage(
61+
{
62+
command:"keyup",
63+
code:event.code
64+
}
65+
)
66+
})
4867
}
4968
});
5069

masm-tasm/src/emulators/jsdos.ts

+22
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,28 @@ export class JSDosHost implements ExecAction{
128128
data:rgb
129129
})
130130
})
131+
panel.webview.onDidReceiveMessage(
132+
message => {
133+
console.log(message)
134+
switch (message.command) {
135+
case 'alert':
136+
vscode.window.showInformationMessage(message.text);
137+
return;
138+
case 'keyup':
139+
const up=utils.htmlKey2jsdos(message.code)
140+
if(up && runtime&& runtime.ci)
141+
runtime.ci.sendKeyEvent(up, false);
142+
return;
143+
case 'keydown':
144+
const down=utils.htmlKey2jsdos(message.code)
145+
if(down && runtime&& runtime.ci)
146+
runtime.ci.sendKeyEvent(down, true);
147+
return;
148+
}
149+
},
150+
undefined,
151+
context.subscriptions
152+
);
131153
}
132154

133155
return {

0 commit comments

Comments
 (0)