الفرق بين المراجعتين لصفحة: «Arduino/keyboard/keyboardwrite»

من موسوعة حسوب
إضافة محتويات الصفحة.
 
طلا ملخص تعديل
 
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:الدالة <code>Keyboard.write()‎</code> في أردوينو}}</noinclude>
<noinclude>{{DISPLAYTITLE:التابع <code>Keyboard.write()‎</code> في أردوينو}}</noinclude>
ترسل الدالة <code>write()‎</code> ضغطة زر واحدة من لوحة المفاتيح الافتراضية إلى الحاسوب المتصل. سلوك هذه الدالة مماثل تمامًا لضغط أي زر في لوحة مفاتيحك ضغطةً واحدةً. يمكنك باستعمال هذه الدالة إرسال أحد محارف ASCII إلى الحاسوب بما فيها تلك التي تمثِّل أحد [[Arduino/keyboard/keyboardmodifiers|مفاتيح التبديل]].
يرسل التابع <code>write()‎</code> ضغطة زر واحدة من لوحة المفاتيح الافتراضية إلى الحاسوب المتصل. سلوك هذا التابع مماثل تمامًا لضغط أي زر في لوحة مفاتيحك ضغطةً واحدةً. يمكنك باستعمال هذه التابع إرسال أحد محارف [[Arduino/asciichart|ASCII]] إلى الحاسوب بما فيها تلك التي تمثِّل أحد [[Arduino/keyboard/keyboardmodifiers|مفاتيح التبديل]].


المحارف ASCII المدعومة في هذه الدالة هي تلك الموجودة في لوحة المفاتيح فقط. على سبيل المثال، يمكن إرسال المحرف ASCII 8 (المسافة الخلفية)، ولكن لا يمكن إرسال المحرف ASCII 25 (الاستبدال [ASCII 25]) لعدم وجوده في لوحة المفاتيح. عند إرسال حرف أبجدي كبير، تُرسٍل الدالة <code>write()‎</code> محرف التبديل shift بالإضافة إلى الحرف المنشود بالطريقة نفسها التي تكتب فيها على لوحة المفاتيح تمامًا. إن أُرسِلت قيمةٌ عدديةٌ عبر الدالة، فستُمثِّل هذه القيمة رقم المحرف ASCII المقابل (مثل استدعاء <code>write(97)‎</code> الذي سيُرسِل الحرف 'a').
المحارف [[Arduino/asciichart|ASCII]] المدعومة في هذه التابع هي تلك الموجودة في لوحة المفاتيح فقط. على سبيل المثال، يمكن إرسال [[Arduino/asciichart|المحرف ASCII 8]] (المسافة الخلفية)، ولكن لا يمكن إرسال [[Arduino/asciichart|المحرف ASCII 25]] (الاستبدال [ASCII 25]) لعدم وجوده في لوحة المفاتيح. عند إرسال حرف أبجدي كبير، يُرسٍل التابع <code>write()‎</code> محرف التبديل shift بالإضافة إلى الحرف المنشود بالطريقة نفسها التي تكتب فيها على لوحة المفاتيح تمامًا. إن أُرسِلت قيمةٌ عدديةٌ عبر التابع، فستُمثِّل هذه القيمة رقم المحرف [[Arduino/asciichart|ASCII]] المقابل (مثل استدعاء <code>write(97)‎</code> الذي سيُرسِل الحرف 'a').
 
يمكنك ان تجد قائمة محارف ASCII الكاملة في الموقع [http://www.asciitable.com/ ASCIITable.com].


يمكنك أن تجد قائمة محارف [[Arduino/asciichart|ASCII]] الكاملة في [[Arduino/asciichart|هذه]] الصفحة.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="arduino">
<syntaxhighlight lang="arduino">
Keyboard.write(character)
Keyboard.write(character)
</syntaxhighlight>
</syntaxhighlight>
 
==المعاملات==
== المعاملات ==
===<code>character</code>===
 
محرفٌ أو عددٌ صحيحٌ يراد إرساله إلى الحاسوب. يمكن أن تكون قيمة هذا المعامل بأي ترميز مقبول للمحرف. على سبيل المثال، جميع الاستدعاءات التالية للتابع <code>write()‎</code>  مقبولة وترسل نفس القيمة التي هي الحرف A (أو [[Arduino/asciichart|ASCII 65]]):<syntaxhighlight lang="arduino">
=== <code>character</code> ===
محرفٌ أو عددٌ صحيحٌ يراد إرساله إلى الحاسوب. يمكن أن تكون قيمة هذا المعامل بأي ترميز مقبول للمحرف. على سبيل المثال، جميع الاستدعاءات التالية للدالة <code>write()‎</code>  مقبولة وترسل نفس القيمة التي هي الحرف A (أو ASCII 65):<syntaxhighlight lang="arduino">
Keyboard.write(65);        // A الذي هو الحرف ASCII 65 إرسال المحرف
Keyboard.write(65);        // A الذي هو الحرف ASCII 65 إرسال المحرف
Keyboard.write('A');            // نفس القيمة السابقة ولكن باستعمال علامات الاقتباس
Keyboard.write('A');            // نفس القيمة السابقة ولكن باستعمال علامات الاقتباس
سطر 23: سطر 20:
==القيم المعادة==
==القيم المعادة==
يعاد عدد البايتات المرسلة.
يعاد عدد البايتات المرسلة.
 
==أمثلة==
== أمثلة ==
إرسال الحرف 'A' إلى الحاسوب بالضغط على مفتاح واحد في لوحة المفاتيح:<syntaxhighlight lang="arduino">
إرسال الحرف 'A' إلى الحاسوب بالضغط على مفتاح واحد في لوحة المفاتيح:<syntaxhighlight lang="arduino">
#include <Keyboard.h>
#include <Keyboard.h>
سطر 44: سطر 40:
}
}
</syntaxhighlight>
</syntaxhighlight>
 
==ملاحظات وتحذيرات==
== ملاحظات وتحذيرات ==
عند استعمال التابع <code>write()‎</code>، تستحوذ أردوينو على لوحة مفاتيحك الحقيقية المتصلة بالحاسوب، لذا تأكد من تحكمك بكل شيء قبل استدعاء هذه التابع. استعملنا في المثال السابق زرًا لنتمكن عبر الضغط عليه من التحكم بعملية التبديل بين لوحتي المفاتيح (الافتراضية والفعلية).
عند استعمال الدالة <code>write()‎</code>، تستحوذ أردوينو على لوحة مفاتيحك الحقيقية المتصلة بالحاسوب، لذا تأكد من تحكمك بكل شيء قبل استدعاء هذه الدالة. استعملنا في المثال السابق زرًا لنتمكن عبر الضغط عليه من التحكم بعملية التبديل بين لوحتي المفاتيح (الافتراضية والفعلية).
 
==انظر أيضًا==
==انظر أيضًا==
* الدالة <code>[[Arduino/keyboard/keyboardbegin|begin()‎]]</code>: تبدأ عملية محاكاة (emulating) للوحة مفاتيح افتراضية موصولة بالحاسوب المتصل باللوحة Leonardo أو Due.
*التابع <code>[[Arduino/keyboard/keyboardbegin|begin()‎]]</code>: يبدأ عملية محاكاة (emulating) للوحة مفاتيح افتراضية موصولة بالحاسوب المتصل باللوحة Leonardo أو Due.
* الدالة <code>[[Arduino/keyboard/keyboardend|end()‎]]</code>: توقف عملية محاكاة (emulating) وصل لوحة المفاتيح الافتراضية بالحاسوب المتصل باللوحة.
*التابع <code>[[Arduino/keyboard/keyboardend|end()‎]]</code>: يوقف عملية محاكاة (emulating) وصل لوحة المفاتيح الافتراضية بالحاسوب المتصل باللوحة.
* الدالة <code>[[Arduino/keyboard/keyboardpress|press()‎]]</code>: تسلك عند استدعائها نفس سلوك عملية الضغط على زرٍ في لوحة المفاتيح باستمرار.
*التابع <code>[[Arduino/keyboard/keyboardpress|press()‎]]</code>: يسلك عند استدعائه نفس سلوك عملية الضغط على زرٍ في لوحة المفاتيح باستمرار.
* الدالة <code>[[Arduino/keyboard/keyboardprint|print()‎]]</code>: رسل ضغطة أو عدة ضغطات من لوحة المفاتيح الافتراضية إلى الحاسوب المتصل.
*التابع <code>[[Arduino/keyboard/keyboardprint|print()‎]]</code>: يرسل ضغطة أو عدة ضغطات من لوحة المفاتيح الافتراضية إلى الحاسوب المتصل.
* الدالة <code>[[Arduino/keyboard/keyboardprintln|println()‎]]</code>: ترسل ضغطة أو عدة ضغطات من لوحة المفاتيح الافتراضية إلى الحاسوب المتصل ثمَّ تُتبِعها بمحرف سطر جديد ومحرف العودة إلى بداية السطر.
*التابع <code>[[Arduino/keyboard/keyboardprintln|println()‎]]</code>: يرسل ضغطة أو عدة ضغطات من لوحة المفاتيح الافتراضية إلى الحاسوب المتصل ثمَّ يُتبِعها بمحرف سطر جديد ومحرف العودة إلى بداية السطر.
* الدالة <code>[[Arduino/keyboard/keyboardrelease|release()‎]]</code>: تحرِّر مفتاحًا محدَّدًا ضُغِط عليه مسبقًا باستعمال الدالة <code>[[Arduino/keyboard/keyboardpress|press()‎]]</code>.
*التابع <code>[[Arduino/keyboard/keyboardrelease|release()‎]]</code>: يحرِّر مفتاحًا محدَّدًا ضُغِط عليه مسبقًا باستعمال التابع <code>[[Arduino/keyboard/keyboardpress|press()‎]]</code>.
* الدالة <code>[[Arduino/keyboard/keyboardreleaseall|releaseAll()‎]]</code>: تحرِّر جميع المفاتيح التي ضُغِط عليها مسبقًا باستعمال الدالة <code>[[Arduino/keyboard/keyboardpress|press()‎]]</code>.
*التابع <code>[[Arduino/keyboard/keyboardreleaseall|releaseAll()‎]]</code>: يحرِّر جميع المفاتيح التي ضُغِط عليها مسبقًا باستعمال التابع <code>[[Arduino/keyboard/keyboardpress|press()‎]]</code>.
 
==مصادر==
==مصادر==
*[https://www.arduino.cc/reference/en/language/functions/usb/keyboard/keyboardwrite/ صفحة Keyboard.write()‎ في توثيق أردوينو الرسمي.]
*[https://www.arduino.cc/reference/en/language/functions/usb/keyboard/keyboardwrite/ صفحة التابع Keyboard.write()‎ في توثيق أردوينو الرسمي.]
[[تصنيف: Arduino]]
[[تصنيف: Arduino]]
[[تصنيف: Arduino Function]]
[[تصنيف: Arduino Method]]
[[تصنيف: Arduino USB]]
[[تصنيف: Arduino USB]]
[[تصنيف: Arduino Keyboard]]
[[تصنيف: Arduino Keyboard]]

المراجعة الحالية بتاريخ 19:49، 6 نوفمبر 2018

يرسل التابع write()‎ ضغطة زر واحدة من لوحة المفاتيح الافتراضية إلى الحاسوب المتصل. سلوك هذا التابع مماثل تمامًا لضغط أي زر في لوحة مفاتيحك ضغطةً واحدةً. يمكنك باستعمال هذه التابع إرسال أحد محارف ASCII إلى الحاسوب بما فيها تلك التي تمثِّل أحد مفاتيح التبديل.

المحارف ASCII المدعومة في هذه التابع هي تلك الموجودة في لوحة المفاتيح فقط. على سبيل المثال، يمكن إرسال المحرف ASCII 8 (المسافة الخلفية)، ولكن لا يمكن إرسال المحرف ASCII 25 (الاستبدال [ASCII 25]) لعدم وجوده في لوحة المفاتيح. عند إرسال حرف أبجدي كبير، يُرسٍل التابع write()‎ محرف التبديل shift بالإضافة إلى الحرف المنشود بالطريقة نفسها التي تكتب فيها على لوحة المفاتيح تمامًا. إن أُرسِلت قيمةٌ عدديةٌ عبر التابع، فستُمثِّل هذه القيمة رقم المحرف ASCII المقابل (مثل استدعاء write(97)‎ الذي سيُرسِل الحرف 'a').

يمكنك أن تجد قائمة محارف ASCII الكاملة في هذه الصفحة.

البنية العامة

Keyboard.write(character)

المعاملات

character

محرفٌ أو عددٌ صحيحٌ يراد إرساله إلى الحاسوب. يمكن أن تكون قيمة هذا المعامل بأي ترميز مقبول للمحرف. على سبيل المثال، جميع الاستدعاءات التالية للتابع write()‎ مقبولة وترسل نفس القيمة التي هي الحرف A (أو ASCII 65):

Keyboard.write(65);         // A الذي هو الحرف ASCII 65 إرسال المحرف
Keyboard.write('A');            // نفس القيمة السابقة ولكن باستعمال علامات الاقتباس
Keyboard.write(0x41);       // نفس القيمة ولكن باستعمال النظام الست عشري
Keyboard.write(0b01000001); // نفس القيمة أيضًا ولكن باستعمال النظام الثنائي

القيم المعادة

يعاد عدد البايتات المرسلة.

أمثلة

إرسال الحرف 'A' إلى الحاسوب بالضغط على مفتاح واحد في لوحة المفاتيح:

#include <Keyboard.h>

void setup() {
  // جعل الرجل 2 رجل دخل مع تشغيل مقاومة الرفع
  // الداخلية، لذا سيصبح جهد الرجل 2 مرتفعًا إلا
  // إذا وصلت بالخط الأرضي
  pinMode(2, INPUT_PULLUP);
  Keyboard.begin();
}

void loop() {
  // إن ضُغِط على الزر المتصل بالرجل 2
  if(digitalRead(2)==LOW){
    // 'A' أرسل الحرف
    Keyboard.write(65);
  }
}

ملاحظات وتحذيرات

عند استعمال التابع write()‎، تستحوذ أردوينو على لوحة مفاتيحك الحقيقية المتصلة بالحاسوب، لذا تأكد من تحكمك بكل شيء قبل استدعاء هذه التابع. استعملنا في المثال السابق زرًا لنتمكن عبر الضغط عليه من التحكم بعملية التبديل بين لوحتي المفاتيح (الافتراضية والفعلية).

انظر أيضًا

  • التابع begin()‎: يبدأ عملية محاكاة (emulating) للوحة مفاتيح افتراضية موصولة بالحاسوب المتصل باللوحة Leonardo أو Due.
  • التابع end()‎: يوقف عملية محاكاة (emulating) وصل لوحة المفاتيح الافتراضية بالحاسوب المتصل باللوحة.
  • التابع press()‎: يسلك عند استدعائه نفس سلوك عملية الضغط على زرٍ في لوحة المفاتيح باستمرار.
  • التابع print()‎: يرسل ضغطة أو عدة ضغطات من لوحة المفاتيح الافتراضية إلى الحاسوب المتصل.
  • التابع println()‎: يرسل ضغطة أو عدة ضغطات من لوحة المفاتيح الافتراضية إلى الحاسوب المتصل ثمَّ يُتبِعها بمحرف سطر جديد ومحرف العودة إلى بداية السطر.
  • التابع release()‎: يحرِّر مفتاحًا محدَّدًا ضُغِط عليه مسبقًا باستعمال التابع press()‎.
  • التابع releaseAll()‎: يحرِّر جميع المفاتيح التي ضُغِط عليها مسبقًا باستعمال التابع press()‎.

مصادر