Free shipping over $50
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
15 / 16
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard
47% OFF
Delis666

Touch Wireless Bluetooth Keyboard Leather Case 2-in-1 Bracket Keyboard

$89.99 $169.99
1 sold
Color
Qty

 🔥The price is limited ! 🔥 Grab yours as the limited promotion available!

  • TIPS: All goods are authentic, with genuine patents, counterfeit must be investigated! Customers, please identify our products!!!
  • 😊If you are not satisfied with the goods you received, please contact us within 15 days after receiving, we will give you the best help!
  • 🚢 Shipping>>Worldwide express shipping available.
  • 🔥98.9% of customers buy 2 or more

MAIN FEATURES

  • Keyboard+keyboard Cover Design: The keyboard cover is designed with a one-touch design, which is more fashionable and beautiful, preventing dust from entering the keyboard

  • Flexible Connection: The wireless keyboard is compatible with three counts and three device connection options. You can pair with almost any type of device using Bluetooth 5 or USB. We also hate pairing chaos, so we make it very easy for you to switch between saved devices.

  • Sleek Design: This wireless keyboard is ultra compact and lightweight, making it comfortable to work from home, just like it is taken to a coffee shop, shared office space, or secret workplace when you need to concentrate.

  • Soft Buttons: Whether it's your roommate suddenly becoming your office mate or the person next to you on the plane, no one likes to type loudly. That's why we designed a wireless keyboard that uses low-key and soft buttons, which feels great to use and will make your "colleagues" happy.

  • Equipped With Bracket: The keyboard leather cover is foldable and can be used as a bracket, very convenient

SPECIFICATIONS

  • Material: ABS

  • Weight: 650G

Shipping:

  • Free Shipping Over $30.

  • Orders will be processed within 7 business days of ordering and shipped out the next day after the processing day. Orders will generally be delivered within 7 to 14 working days.

Returns:Fast refund for any dissatisfaction within 15 days, 100% money-back guarantee.


Note:

  • Due to manual measurements, please allow slight measurement deviations.

  • Due to the different display and lighting effects, the actual color of the item may be slightly different from the color displayed on the picture.

Customer Reviews

Here are what our customers say.

Write a Review
Customer Reviews
Wow you reached the bottom
Newest
Most liked
Highest ratings
Lowest ratings
×
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.