Skip to content

Commit 06cd10a

Browse files
committed
add 'onkeyup' event in keyboard block
1 parent dbfd204 commit 06cd10a

7 files changed

Lines changed: 30 additions & 46 deletions

File tree

blocks/msg/en.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,10 @@ Blockly.Msg.WEBDUINO_DELAY_SECONDS = "seconds";
111111
// Keyboard
112112

113113
Blockly.Msg.WEBDUINO_KEYBOARD = "Start keyboard event";
114-
Blockly.Msg.WEBDUINO_KEYBOARD_STOP = "Stop keyboard event";
115-
Blockly.Msg.WEBDUINO_KEYBOARD_KEYDOWN = "If press";
114+
Blockly.Msg.WEBDUINO_KEYBOARD_KEYDOWN = "key down";
115+
Blockly.Msg.WEBDUINO_KEYBOARD_KEYUP = "key up";
116+
Blockly.Msg.WEBDUINO_KEYBOARD_STOP = "Stop";
117+
Blockly.Msg.WEBDUINO_KEYBOARD_KEY = "key";
116118
Blockly.Msg.WEBDUINO_KEYBOARD_DO = ", do:";
117119
Blockly.Msg.WEBDUINO_KEYBOARD_SPACE = "space";
118120
Blockly.Msg.WEBDUINO_KEYBOARD_UP = "up";

blocks/msg/zh-hant.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,11 @@ Blockly.Msg.WEBDUINO_STATUS_REPEAT_STOPCONTENT = "的不停重複";
129129

130130
// Keyboard
131131

132-
Blockly.Msg.WEBDUINO_KEYBOARD = "開始偵測 鍵盤行為";
132+
Blockly.Msg.WEBDUINO_KEYBOARD = "開始偵測 鍵盤";
133+
Blockly.Msg.WEBDUINO_KEYBOARD_KEYDOWN = "按下";
134+
Blockly.Msg.WEBDUINO_KEYBOARD_KEYUP = "放開";
133135
Blockly.Msg.WEBDUINO_KEYBOARD_STOP = "停止偵測 鍵盤行為";
134-
Blockly.Msg.WEBDUINO_KEYBOARD_KEYDOWN = "如果按下";
136+
Blockly.Msg.WEBDUINO_KEYBOARD_KEY = "按鍵";
135137
Blockly.Msg.WEBDUINO_KEYBOARD_DO = ",執行";
136138
Blockly.Msg.WEBDUINO_KEYBOARD_SPACE = "空白鍵";
137139
Blockly.Msg.WEBDUINO_KEYBOARD_UP = "上";

blocks/webduino.js

Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2735,10 +2735,14 @@ Blockly.Blocks['joystick_off'] = {
27352735
};
27362736

27372737

2738-
Blockly.Blocks['document_onkeydown'] = {
2738+
Blockly.Blocks['document_keyboard'] = {
27392739
init: function () {
27402740
this.appendDummyInput()
2741-
.appendField(Blockly.Msg.WEBDUINO_KEYBOARD, "開始偵測 鍵盤行為");
2741+
.appendField(Blockly.Msg.WEBDUINO_KEYBOARD, "開始偵測 鍵盤")
2742+
.appendField(new Blockly.FieldDropdown([
2743+
[Blockly.Msg.WEBDUINO_KEYBOARD_KEYDOWN, "onkeydown"],
2744+
[Blockly.Msg.WEBDUINO_KEYBOARD_KEYUP, "onkeyup"]
2745+
]), "event_")
27422746
this.appendStatementInput("do_");
27432747
this.setInputsInline(false);
27442748
this.setPreviousStatement(true);
@@ -2749,7 +2753,7 @@ Blockly.Blocks['document_onkeydown'] = {
27492753
}
27502754
};
27512755

2752-
Blockly.Blocks['document_onkeydown_stop'] = {
2756+
Blockly.Blocks['document_keyboard_stop'] = {
27532757
init: function () {
27542758
this.appendDummyInput()
27552759
.appendField(Blockly.Msg.WEBDUINO_KEYBOARD_STOP, "停止偵測 鍵盤行為");
@@ -2762,10 +2766,10 @@ Blockly.Blocks['document_onkeydown_stop'] = {
27622766
}
27632767
};
27642768

2765-
Blockly.Blocks['document_alphabet_keycode'] = {
2769+
Blockly.Blocks['document_keycode'] = {
27662770
init: function () {
27672771
this.appendStatementInput("do_")
2768-
.appendField(Blockly.Msg.WEBDUINO_KEYBOARD_KEYDOWN, "如果按下")
2772+
.appendField(Blockly.Msg.WEBDUINO_KEYBOARD_KEY, "如果是")
27692773
.appendField(new Blockly.FieldDropdown([
27702774
["A", "65"],
27712775
["B", "66"],
@@ -2792,23 +2796,7 @@ Blockly.Blocks['document_alphabet_keycode'] = {
27922796
["W", "87"],
27932797
["X", "88"],
27942798
["Y", "89"],
2795-
["Z", "90"]
2796-
]), "keycode_")
2797-
.appendField(Blockly.Msg.WEBDUINO_KEYBOARD_DO, ",執行:");
2798-
this.setInputsInline(false);
2799-
this.setPreviousStatement(true);
2800-
this.setNextStatement(true);
2801-
this.setTooltip('');
2802-
this.setColour(35);
2803-
this.setHelpUrl('http://www.example.com/');
2804-
}
2805-
};
2806-
2807-
Blockly.Blocks['document_other_keycode'] = {
2808-
init: function () {
2809-
this.appendStatementInput("do_")
2810-
.appendField(Blockly.Msg.WEBDUINO_KEYBOARD_KEYDOWN, "如果按下")
2811-
.appendField(new Blockly.FieldDropdown([
2799+
["Z", "90"],
28122800
[Blockly.Msg.WEBDUINO_KEYBOARD_SPACE, "32"],
28132801
["enter", "13"],
28142802
[Blockly.Msg.WEBDUINO_KEYBOARD_UP, , "38"],

generators/webduino.js

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1711,11 +1711,12 @@ Blockly.JavaScript['joystick_off'] = function (block) {
17111711
return code;
17121712
};
17131713

1714-
Blockly.JavaScript['document_onkeydown'] = function (block) {
1714+
Blockly.JavaScript['document_keyboard'] = function (block) {
17151715
var statements_do_ = Blockly.JavaScript.statementToCode(block, 'do_');
1716+
var dropdown_event_ = block.getFieldValue('event_');
17161717
var e = Blockly.JavaScript.variableDB_.getDistinctName(
17171718
'e', Blockly.Variables.NAME_TYPE);
1718-
var code = 'document.onkeydown = function(' + e + '){\n' +
1719+
var code = 'document.'+dropdown_event_+' = function(' + e + '){\n' +
17191720
' console.log(' + e + '.keyCode);\n' +
17201721
' switch(' + e + '.keyCode){\n' +
17211722
statements_do_ +
@@ -1724,21 +1725,13 @@ Blockly.JavaScript['document_onkeydown'] = function (block) {
17241725
return code;
17251726
};
17261727

1727-
Blockly.JavaScript['document_onkeydown_stop'] = function (block) {
1728-
var code = 'document.onkeydown = function(){};\n';
1729-
return code;
1730-
};
1731-
1732-
Blockly.JavaScript['document_alphabet_keycode'] = function (block) {
1733-
var dropdown_keycode_ = block.getFieldValue('keycode_');
1734-
var statements_do_ = Blockly.JavaScript.statementToCode(block, 'do_');
1735-
var code = ' case ' + dropdown_keycode_ + ':\n' +
1736-
' ' + statements_do_ +
1737-
' break;\n';
1728+
Blockly.JavaScript['document_keyboard_stop'] = function (block) {
1729+
var code = 'document.onkeydown = function(){};\n'+
1730+
'document.onkeyup = function(){};\n';
17381731
return code;
17391732
};
17401733

1741-
Blockly.JavaScript['document_other_keycode'] = function (block) {
1734+
Blockly.JavaScript['document_keycode'] = function (block) {
17421735
var dropdown_keycode_ = block.getFieldValue('keycode_');
17431736
var statements_do_ = Blockly.JavaScript.statementToCode(block, 'do_');
17441737
var code = ' case ' + dropdown_keycode_ + ':\n' +

msg/en.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
var MSG = {
2-
update: "update 2015.10.20",
2+
update: "update 2015.11.04",
33
title: "Webduino Blockly Editor",
44
gotoTutorials: "Tutorials",
55
gotoWebSite: "Official site",

msg/zh-hant.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
var MSG = {
2-
update: "update 2015.10.20",
2+
update: "update 2015.11.04",
33
title: "Webduino Blockly 編輯器",
44
gotoTutorials: "教學範例",
55
gotoWebSite: "官方網站",

views/index.handlebars

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -493,10 +493,9 @@
493493
</block>
494494
</category>
495495
<category id="catKeyCode">
496-
<block type="document_onkeydown"></block>
497-
<block type="document_alphabet_keycode"></block>
498-
<block type="document_other_keycode"></block>
499-
<block type="document_onkeydown_stop"></block>
496+
<block type="document_keyboard"></block>
497+
<block type="document_keycode"></block>
498+
<block type="document_keyboard_stop"></block>
500499
</category>
501500
<category id="catSpeech">
502501
<block type="sound_recognition"></block>

0 commit comments

Comments
 (0)